Suchen in Modulen.

knowledge

Mitglied
Ich habe den folgenden Code für die Suche ein bestimmtes wort New york in Modulen. der code gibt aus, wie oft sich das Wort in Modulen befindet und in welchen Modulen. Ich will jetzt das der Code auch noch Washington in Modulen sucht und gibt aus wie oft das Wort in Modulen kam und in welchen Modulen.
Code:
Sub CheckSpacesInModules() 
On Error GoTo Err_CheckSpacesInModules 
    Dim lngCounterA As Long, lngCounterB As Long 
    Dim modModule As Module 
    Dim zahl    ' das ist Dein Zähler 

    For lngCounterA = 0 To Modules.Count - 1 
        Set modModule = Modules.Item(lngCounterA) 
        zahl=0 
        With modModule 
            For lngCounterB = 1 To .CountOfLines 
                If Trim(.Lines(lngCounterB, 1)) = "New york" Then 
                    .ReplaceLine lngCounterB, "" 
                    zahl=zahl+1 
                End If 
            Next lngCounterB 
        End With 
        Msgbox "New York kam im Modul " & modModule & " " & zahl & " mal vor."    
    Next lngCounterA 
    
Exit_CheckSpacesInModules: 
    Exit Sub 
Err_CheckSpacesInModules: 
    MsgBox Err.Description, vbExclamation, "Error #" & Err.Number 
    Resume Exit_CheckSpacesInModules 
End Sub
 
Jetzt krige ich mit dem unten stehenden Code das Ergebnis nicht sortiert. Der Code sieht so aus
Code:
Sub CheckSpacesInModules()
On Error GoTo Err_CheckSpacesInModules
    Dim lngCounterA As Long, lngCounterB As Long, lngCounterC
    Dim modModule As Module
    Dim zahl    ' das ist Dein Zähler
    Dim zahl1

    For lngCounterA = 0 To Modules.count - 1
        Set modModule = Modules.Item(lngCounterA)
        zahl = 0
        With modModule
            For lngCounterB = 1 To .CountOfLines
                If Trim(.Lines(lngCounterB, 1)) = "New york" Then
                 '   .ReplaceLine lngCounterB, "Washington"
                    zahl = zahl + 1
                End If
            Next lngCounterB
            Debug.Print "New York kam im Modul " & modModule & " " & zahl & " mal vor."
            
            For lngCounterC = 1 To .CountOfLines
                If Trim(.Lines(lngCounterC, 1)) = "Hamburg" Then
                   ' .ReplaceLine lngCounterC, "Washington"
                    zahl1 = zahl1 + 1
                End If
            Next lngCounterC
        End With
        
      Debug.Print "Hamburg kam im Modul " & modModule & " " & zahl1 & " mal vor."
    Next lngCounterA
    
Exit_CheckSpacesInModules:
    Exit Sub
Err_CheckSpacesInModules:
    MsgBox Err.Description, vbExclamation, "Error #" & Err.Number
    Resume Exit_CheckSpacesInModules
End Sub

Das bekomme ich als Ergebnis

New York kam im Modul Modul1 0 mal vor.
Hamburg kam im Modul Modul1 mal vor.
New York kam im Modul Modul2 0 mal vor.
Hamburg kam im Modul Modul2 mal vor.
New York kam im Modul Modul3 0 mal vor.
Hamburg kam im Modul Modul3 mal vor.
New York kam im Modul Modul4 0 mal vor.
Hamburg kam im Modul Modul4 mal vor.
New York kam im Modul Modul5 0 mal vor.
Hamburg kam im Modul Modul5 mal vor.
 
Der Code sucht nur die Wörter, die allein in einer zeile stehen. Wenn ein Satz Zum Beispiel "Es ist Sommer" als Kommentar im Code steht wird dann Sommer,Es und ist nicht gesucht aber wenn Sommer alleine steht im Code dann wird der Code das Wort suchen. Irgendwelche Lösung
 

Neue Beiträge

Zurück