Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ZÄHLENWENNS() mit vba

Forumthread: ZÄHLENWENNS() mit vba

ZÄHLENWENNS() mit vba
05.04.2016 13:56:41
Felix
Hallo Communitity,
Ausgangslage:
Ich habe in Spalte B3:B18 mit Platzhaltern Suchbegriffe stehen (bspw. *Pilot*) und möchte deren Anzahl in der Spalte C3:C18 durch Abgleich der Spalte Mirror!B2:B10500 angezeigt bekommen. Da das ganze automatisch über Makro-Knopf geschehen soll benötige ich einen entsprechenden vba-Befehl.
Folgende Befehle habe ich bereits geschrieben:
Range("C3").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B3])
Range("C4").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B4])
Range("C5").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B5])
Range("C6").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!"*"&B6&"*"])
Range("C7").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!"*"&B7&"*"])
Range("C8").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!"*"&B8&"*"])
Range("C9").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!"*"&B9&"*"])
Range("C10").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B10])
Range("C11").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B11])
Range("C12").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B12])
Range("C13").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B13])
Range("C14").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B14])
Range("C15").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B15])
Range("C16").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B16])
Range("C17").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B17])
Range("C18").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], [Häufigste Themen!B18])
Da mir ständig das Ergebnis 0 angezeigt wird, obwohl ich sicher weiß dass bspw. der Suchbegriff aus B4 mind. 5x vorhanden ist habe ich zweitweise versucht den Suchbegriff ohne Platzhalter einzutragen und vba den Platzhalter selbstständig setzen zu lassen aber ebenfalls ohne Erfolg.
Was mache ich falsch?
Grüße
Felix

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ZÄHLENWENNS() mit vba
05.04.2016 14:11:45
selli
hallo felix,
Was mache ich falsch?
von hier aus schwer zu sagen, denn keiner sieht was vor oder hinter diesen zeilen passiert.
gruß
selli

AW: ZÄHLENWENNS() mit vba
05.04.2016 14:19:14
Daniel
Hi
die Platzhalter musst du so hinzufügen:
 =WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], "*" & [Häufigste Themen!B6] & "*")

ich würde aber Formeln einsetzen, dann musst du nicht soviel schreiben:
Range("C3:C18").FormulaR1C1 = "=CountIf(Mirror!C2,'Häufigste Themen'!RC2)"
bzw mit Joker
Range("C6:C9").FormulaR1C1 = "=CountIf(Mirror!C2,""*""&'Häufigste Themen'!RC2&""*"")"
und dann mit
Range("C3:C18").formula = Range("C3:C18").value

dann die Formeln durch Werte ersetzen.
gruß Daniel

Anzeige
AW: ZÄHLENWENNS() mit vba
05.04.2016 14:54:45
Felix
Hi Daniel,
deine Lösung hat spitze funktioniert!! Hab die Formel noch mit der passenden Range geändert und läuft jetzt noch Probleme durch.
Danke nochmal, nach zwei Tagen Suche endlich eine Lösung..
Gruß
Felix

AW: ZÄHLENWENNS() mit vba
05.04.2016 15:02:36
Daniel
Hi Felix
danke für die Rückmeldung.
in diesem Form jetzt man das Häkchen, wenn die Frage NOCH NICHT beantwortet ist!
(zumindest steht das so in dem Text neben dem Häkchen)
Gruß Daniel

Anzeige
AW: ZÄHLENWENNS() mit vba
06.04.2016 16:44:23
Felix
Sorry! ;-D
;
Anzeige

Infobox / Tutorial

ZÄHLENWENNS() mit VBA effizient nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe in den Visual Basic for Applications (VBA) Editor (ALT + F11).

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (dein Dokument)" > Einfügen > Modul.

  3. Füge den folgenden VBA-Code ein:

    Sub ZaehlenWennsMitVBA()
       Dim i As Integer
       For i = 3 To 18
           Range("C" & i).Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], "*" & [Häufigste Themen!B" & i] & "*")
       Next i
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Füge einen Button hinzu, um das Makro auszuführen: Entwicklertools > Einfügen > Schaltfläche.

  6. Wähle das Makro aus und klicke auf "OK".


Häufige Fehler und Lösungen

  • Fehler: Ergebnis ist 0
    Wenn du für die ZÄHLENWENNS()-Funktion 0 erhältst, kann es an den Platzhaltern liegen. Stelle sicher, dass der Suchbegriff in der richtigen Form vorliegt:

    Range("C6").Value = WorksheetFunction.CountIfs([Mirror!$B$2:$B$10576], "*" & [Häufigste Themen!B6] & "*")
  • Fehler: VBA findet die Range nicht
    Überprüfe die Schreibweise der Range und der Arbeitsblätter. Es ist wichtig, dass die Namen genau stimmen.


Alternative Methoden

Wenn du nicht nur auf VBA zurückgreifen möchtest, kannst du auch Formeln in Excel verwenden:

Range("C3:C18").FormulaR1C1 = "=CountIf(Mirror!C2,'Häufigste Themen'!RC2)"

Für Platzhalter:

Range("C6:C9").FormulaR1C1 = "=CountIf(Mirror!C2,""*""&'Häufigste Themen'!RC2&""*"")"

Nach der Berechnung kannst du die Formeln in Werte umwandeln, um die Berechnungen zu speichern:

Range("C3:C18").Value = Range("C3:C18").Value

Praktische Beispiele

Angenommen, du hast folgende Daten in der Spalte "Häufigste Themen":

A B
1 Suchbegriff Anzahl
2 Pilot
3 Test

Um die Anzahl der Vorkommen von "Pilot" in der Spalte Mirror zu zählen, verwende den oben beschriebenen VBA-Code.


Tipps für Profis

  • Nutze Fehlerbehandlung in deinem VBA-Code, um unerwartete Probleme zu vermeiden.
  • Überlege, die Daten zu validieren, bevor du die Zählung vornimmst, um sicherzustellen, dass alle Daten korrekt sind.
  • Verwende benannte Bereiche, um deine Formeln und VBA-Referenzen einfacher zu gestalten.

FAQ: Häufige Fragen

1. Warum zeigt meine ZÄHLENWENNS()-Funktion immer 0 an?
Überprüfe, ob die Suchbegriffe mit den Daten in der Mirror-Range übereinstimmen und ob die Platzhalter korrekt gesetzt sind.

2. Kann ich die ZÄHLENWENNS()-Funktion auch ohne VBA nutzen?
Ja, du kannst die Funktion direkt in die Zellen eingeben, um die Zählung vorzunehmen, ohne ein Makro zu verwenden.

3. Was ist der Unterschied zwischen ZÄHLENWENNS() und ZÄHLENWENN()?
ZÄHLENWENNS() ermöglicht es dir, mehrere Kriterien zu verwenden, während ZÄHLENWENN() nur ein Kriterium berücksichtigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige