970 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Zusammen,

ich möchte alle vohandenen Wörter einer ListBox zählen, welche ein "A"
beinhalten. Diese Zahl soll dann in eine TextBox geschrieben werden.
Bloß zählt mein Code alle Wörter der Liste. Wo ist mein Bug?

Hier der Code:
Private Sub CommandButton3_Click()

For i = 0 To ListBox1.ListCount - 1
ListBox1.ListIndex = i
If InStr(Me!ListBox1, "A") Then

End If
TextBox1.Value = ListBox1.ListCount
Next i

End Sub

Ideen? LG Sina

1 Antwort

0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Sina,

nachfolgend mal eine Lösungsvariante. Hier wird die ListBox durchsucht und jedes Wort, in dem der Buchstabe "a" auftritt, wird gezählt. Am Ende wird eine Bildschirmmeldung ausgegeben mit der Anzahl der gefundenen Wörter und einer Auflistung der gefundenen Wörter.

Kopiere den VBA-Code in die userForm und starte ihn z.B. über einen CommandButton.
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Private Sub CommandButton1_Click()
Dim lngListBoxeintrag As Long
Dim lngAnzahl As Long

Dim varArray As Variant

For lngListBoxeintrag = 0 To ListBox1.ListCount - 1
If Len(ListBox1.List(lngListBoxeintrag, 0)) - Len(Application.WorksheetFunction _
.Substitute(LCase(ListBox1.List(lngListBoxeintrag, 0)), "a", "")) > 0 Then
lngAnzahl = lngAnzahl + 1
varArray = varArray & vbLf & ListBox1.List(lngListBoxeintrag, 0)
End If
Next

MsgBox lngAnzahl & " Begriffe enthalten mindestens 1 mal den Buchsatben ""a""." _
& vbLf & vbLf & "Die Begriffe sind:" & vbLf & Mid(varArray, 2, Len(varArray)), _
vbInformation, "Meldung..."
End Sub
Zum besseren Verständnis habe ich Dir noch eine Beispieldatei hochgeladen, die Du Dir unter http://www.excelbeispiele.de/beispiele_supportnet/Beispiel_ListBox_nach_bestimmetn_Buchstaben_durchsuchen.xls downloaden kannst.

Bei Fragen melde Dich.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
...