Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1640to1644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - zählen, wenn Textteil in Text enthalten ist

VBA - zählen, wenn Textteil in Text enthalten ist
30.08.2018 11:06:13
RK
Aloha Community.
Ich möchte gern alle Zellen zählen die einen bestimmten Text enthalten.
Problem ist, dass nur gezählt wird, wenn genau der Text aus D1 in Spalte A steht.
Wie muss ich mein Makro modifizieren, damit alle Einträge, in denen mein Textausschnitt enthalten ist, zählen?
Ich bitte um Hilfe und vielen Dank im Voraus!
Eine kleine Excel-Datei mit dem Makro als Beispiel:
https://www.herber.de/bbs/user/123656.zip
Sub count()
Dim r As Range
Dim Z As Integer
Set ZRB = ThisWorkbook.Sheets(1)
Set r = Range(ZRB.Cells(1, 1), ZRB.Cells(50, 1))
Z = Application.WorksheetFunction.CountA(r)
For i = 0 To Z
Modeli = ZRB.Cells(1 + i, 1)
If Modeli = ZRB.Range("D1") Then Anz = Anz + 1
Next
ZRB.Range("D2") = Anz
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - zählen, wenn Textteil in Text enthalten ist
30.08.2018 11:42:15
UweD
Hallo
warum mit VBA?
in d2: =ZÄHLENWENN(A:A;"*"&D1&"*")
wenn doch, dann ohne Schleife
Sub count()
    Dim r As Range
    Dim ZRB
    
    Set ZRB = ThisWorkbook.Sheets(1)
    Set r = Range(ZRB.Cells(1, 1), ZRB.Cells(50, 1))
    
    ZRB.Range("D2") = Application.WorksheetFunction.CountIf(r, "*" & ZRB.Range("D1") & "*")

End Sub

LG UweD
Anzeige
AW: VBA - zählen, wenn Textteil in Text enthalten
30.08.2018 12:08:40
RK
Du hast recht, in diesem Beispiel kann die Schleife entfernt werden.
In meinem umfangreicheren Projekt muss ich allerdings jeden einzelnen Schritt auslesen.
Habe deine Idee für mein Beispiel umgemünzt.
Danke Dir!
Sub count_content()
Dim r As Range
Dim Z As Integer
Set ZRB = ThisWorkbook.Sheets(1)
Set r = Range(ZRB.Cells(1, 1), ZRB.Cells(50, 1))
Z = Application.WorksheetFunction.CountA(r)
For i = 0 To Z - 1
modeli = ZRB.Cells(1 + i, 1)
If modeli Like "*" & ZRB.Range("D1") & "*" Then Anz = Anz + 1
Next
ZRB.Range("D2") = Anz
End Sub

Anzeige
AW: VBA - zählen, wenn Textteil in Text enthalten
30.08.2018 12:47:15
Hans
Hallo
ich habe gerade einen faszinierend schönen Code für LastZell gesehen! Den kannte ich noch Nicht!
Z = Application.WorksheetFunction.CountA(r)

Sehr einfach, ohne End(xlUP). Ich erlaube mir dazu einen Hinweis:
Dieser Code wird einwandfrei funktionieren soplange es -keine Leerzeilen- in der Tabelle gibt.
Bei Leerzeilen stimmt Z nicht mehr mit der letzten Zelle überein! Wollte nur darauf hinweisen.
mfg Hans
AW: VBA - zählen, wenn Textteil in Text enthalten
30.08.2018 14:47:52
RK
Danke für deinen Hinweis.
Hast Du das schon überprüft?
Nimm dir mal meine angehangene Datei und schreibe in Spalte A (bis Zeile 50) weitere Werte hinein.
Er zählt nur die Zeilen in denen ein Eintrag verfasst wurde.
Nette Grüße
RK
Anzeige
AW: VBA - zählen, wenn Textteil in Text enthalten
30.08.2018 15:46:05
UweD
Hallo nochmal
Leere doch mal die ersten 10 Zellen.
Dann läuft dein Z nur bis 11 und liefert ein falsches Ergebnis
LG UweD
AW: VBA - zählen, wenn Textteil in Text enthalten
31.08.2018 15:24:36
RK
Stimmt. Wir haben ein wenig aneinander vorbei geschrieben.
Z richtet sich nach der Anzahl der Einträge.
Fehlen z.B. innerhalb zwei Einträge, werden bei einer Schleife nach Z folglich die zwei letzten Einträge nicht mehr abgefragt.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige