循环结果post Msgbox换行
Loop result post Msgbox new line
我有一个在列中查找文本的循环(正在运行),我想 post 将结果放入 MsgBox,但是当我在循环内或循环外使用 msgbox 时,我会得到一个找到的每个结果的消息框或只有一个结果的消息框。我想要的是 post 每个结果都在 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
消息框的循环:
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
您需要保留 txt
的旧值。
txt = txt & "Duplicates found for" & " " & ws.Range("A" & i).Value & " " & "in" & ws.Range("L" & i).Value & vbNewLine
我有一个在列中查找文本的循环(正在运行),我想 post 将结果放入 MsgBox,但是当我在循环内或循环外使用 msgbox 时,我会得到一个找到的每个结果的消息框或只有一个结果的消息框。我想要的是 post 每个结果都在 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
消息框的循环:
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
您需要保留 txt
的旧值。
txt = txt & "Duplicates found for" & " " & ws.Range("A" & i).Value & " " & "in" & ws.Range("L" & i).Value & vbNewLine