我有一个循环在列中查找文本(这是有效的),我想将结果发布到MsgBox中,但是当我在循环中或循环外使用msgbox时,我将为每个找到的结果获取一个msgbox或只有一个带有一个结果的msgbox。我想要的是让它在1 msgbox中发布每个结果,并在每次结果后使用换行符。
我知道第一个代码不是寻找重复的最漂亮或最好的方法,我应该使用一个数组,但这是我让它工作的唯一方法。
第一个代码发现重复(与问题无关):
Dim lastRow As Long
Dim i As Long
Dim ws As Worksheet
Dim txt As String
Set ws = Sheets("Player List")
Dim matchFoundIndex As Long
Dim iCntr As Long
lastRow = Range("A201").End(xlUp).Row
For iCntr = 1 To lastRow
If Cells(iCntr, 1) <> "" Then
matchFoundIndex = WorksheetFunction.Match(Cells(iCntr, 1), Range("A1:A" &
lastRow), 0)
If iCntr <> matchFoundIndex Then
Cells(iCntr, 2) = "Duplicate"
End If
End If
Next
使用msgbox的循环:
For i = 2 To 201
If ws.Range("B" & i).Value = "Duplicate" Then
txt = "Duplicates found for" + " " + ws.Range("A" & i).Value + " " + "in" +
ws.Range("L" & i).Value + vbNewLine
End If
Next i
MsgBox txt
答案 0 :(得分:2)
您需要保留txt
的旧值。
txt = txt & "Duplicates found for" & " " & ws.Range("A" & i).Value & " " & "in" & ws.Range("L" & i).Value & vbNewLine