Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

zählenwenn im Makro

Forumthread: zählenwenn im Makro

zählenwenn im Makro
29.10.2002 16:57:41
Hartmut Mengeler
Hallo, ich möchte innerhalb eines Makros in einer Variablen festlegen wie oft z. B. das Wort "Test" in dem Bereich A5-C8 vorkommt. Zählenwenn funktioniert nicht. Countif wird auch nicht angenommen. Das ganze dürfte aber doch nicht so kompliziert sein. Kann mir jemand helfen?
Hartmut
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: zählenwenn im Makro
29.10.2002 17:03:06
Boris
Hallo Hartumt,

Prüft A1 bis A10 auf die Zahl 12.

Gruß Boris

Re: zählenwenn im Makro
29.10.2002 17:03:49
Chris
a = 0
For i = 5 To 8
For ii = 1 To 3
If ActiveSheet.Cells(i, ii) Like "*Test*" Then a = a + 1
Next ii
Next i
MsgBox "Das Wort Test kommt " & a & " mal vor."

Gruss
Chris

Anzeige
for each cell in range("A5:C8")...
29.10.2002 17:06:22
andre
das geht so:

~begin~
For Each cell In Range("A5:C8")
If cell = "Test" Then i = i + 1
Next
~end

gruss andre

Re: zählenwenn im Makro
29.10.2002 17:08:05
Boris
Da die Frage mit Countif gestellt war, hab ich auch die Countif-Lösung gepostet.
Du kannst natürlich auch nach dem Wort Test suchen.
Änder einfach die 12 in "test" (also in Anführungszeichen setzen).

Gruß Boris

Anzeige
Danke für die Tips.
29.10.2002 20:16:41
Hartmut Mengeler
Vielen Dank für die unterschiedlichen Lösungsmöglichkeiten. Damit komme ich gut klar. Ihr habt mir damit sehr weitergeholfen. Gruß Hartmut
;
Anzeige

Infobox / Tutorial

Zählen mit ZÄHLENWENN in VBA – So funktioniert's


Schritt-für-Schritt-Anleitung

Um innerhalb eines Makros in Excel VBA die Anzahl der Vorkommen eines bestimmten Worts, wie "Test", in einem bestimmten Bereich (z.B. A5:C8) zu zählen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor, indem du ALT + F11 drückst.
  2. Erstelle ein neues Modul über "Einfügen" > "Modul".
  3. Füge den folgenden Code in das Modul ein:
Sub ZaehlenWennBeispiel()
    Dim a As Integer
    Dim i As Integer
    Dim ii As Integer

    a = 0
    For i = 5 To 8
        For ii = 1 To 3
            If ActiveSheet.Cells(i, ii) Like "*Test*" Then a = a + 1
        Next ii
    Next i

    MsgBox "Das Wort 'Test' kommt " & a & " mal vor."
End Sub
  1. Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.

Dieses Skript zählt, wie oft das Wort "Test" im Bereich A5:C8 vorkommt.


Häufige Fehler und Lösungen

  1. ZählenWenn funktioniert nicht

    • Stelle sicher, dass du das richtige Format verwendest. In VBA wird CountIf nicht direkt akzeptiert, du musst stattdessen Schleifen verwenden, um die Zählung durchzuführen.
  2. Variable nicht definiert

    • Achte darauf, dass alle Variablen korrekt deklariert sind. Nutze Dim, um sicherzustellen, dass deine Variablen wie a, i, und ii korrekt definiert sind.
  3. Falscher Zellbereich

    • Überprüfe, ob der angegebene Zellbereich (z.B. A5:C8) korrekt ist und sich innerhalb des aktiven Arbeitsblatts befindet.

Alternative Methoden

Eine weitere Möglichkeit, die Anzahl der Vorkommen in einem bestimmten Bereich zu zählen, ist die Verwendung von For Each. Hier ist ein Beispiel:

Sub ZaehlenWennAlternative()
    Dim cell As Range
    Dim i As Integer
    i = 0

    For Each cell In Range("A5:C8")
        If cell.Value = "Test" Then i = i + 1
    Next cell

    MsgBox "Das Wort 'Test' kommt " & i & " mal vor."
End Sub

Diese Methode ist oft einfacher und flexibler, wenn du durch einen Bereich iterieren möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Anwendung der ZählenWenn-Funktion in VBA:

  • Zählen von spezifischen Werten: Ändere den Wert in der Bedingung von "Test" zu einem anderen Wort oder Wert, den du zählen möchtest.
  • Zählen in großen Bereichen: Du kannst den Bereich erweitern, z.B. Range("A1:C100"), um eine größere Datenmenge zu analysieren.

Tipps für Profis

  • Nutze die Like-Anweisung, um nach Mustern zu suchen, z.B. Like "*Test*" zählt alle Zellen, die "Test" enthalten.
  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden, was Fehler reduziert.
  • Experimentiere mit anderen Schleifenarten, wie Do While, um deine Zählvorgänge zu optimieren.

FAQ: Häufige Fragen

1. Funktioniert das ZählenWenn auch in Excel 2013?
Ja, die vorgestellten VBA-Methoden sind mit Excel 2013 und neueren Versionen kompatibel.

2. Kann ich mehrere Wörter zählen?
Ja, du kannst die Bedingungen in den Schleifen anpassen, um mehrere Wörter zu zählen. Zum Beispiel kannst du eine weitere If-Anweisung hinzufügen, um nach einem zweiten Wort zu suchen.

3. Ist es möglich, die Zählung in eine Excel-Zelle zu schreiben?
Ja, du kannst das Ergebnis der Zählung in eine Zelle schreiben, indem du ActiveSheet.Cells(1, 1).Value = a verwendest, um den Zählwert in Zelle A1 zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige