2017-10-18 7 views
0

J'ai une boucle recherchant le texte dans une colonne (qui fonctionne) et je veux signaler le résultat dans un MsgBox, mais quand j'utilise le msgbox dans ou en dehors de la boucle j'obtiendrai un msgbox pour chaque résultat trouvé ou seulement un msgbox avec un résultat. Ce que je voudrais, c'est de le faire publier tous les résultats dans 1 msgbox avec un saut de ligne après chaque résultat. Je sais que le premier code n'est pas le plus joli ou le meilleur moyen de trouver des doublons et je devrais utiliser un tableau pour cela, mais c'est la seule façon de le faire fonctionner.Message de résultat de boucle Msgbox nouvelle ligne

Le premier code détection des doublons (ne concerne pas la question):

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 

La boucle avec le 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 

Répondre

2

Vous devez conserver l'ancienne valeur de txt.

txt = txt & "Duplicates found for" & " " & ws.Range("A" & i).Value & " " & "in" & ws.Range("L" & i).Value & vbNewLine