Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ZählenWenn / CountIF

Forumthread: ZählenWenn / CountIF

ZählenWenn / CountIF
09.09.2003 19:09:07
HerbertS
Hallo Excel-Freunde,
ich suche die Lösung für die Funktion "ZÄHLENWENN" in VBA, also COUNTIF.

Ich möchte die Anzahl der x von A3 bis A7 zählen.
In der Tabelle funktionierts so: =ZÄHLENWENN(A3:A7;"x")

In VBA läuft's nicht:


Sub xTest()
Set adr = Worksheets("Tabelle1").Range("A3:A7")
Anz = Application.WorksheetFunction.CountIf(adr, "x")
'MsgBox Anz
End Sub


Vielen Dank im Voraus für Euere Bemühungen.
HerbertS
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ZählenWenn / CountIF
09.09.2003 19:19:39
Jörg Gradert
Hallo Herbert,
bei mir funktioniert es, ich habe lediglich die Variablen dimensioniert, und den Remark vor der Messagebox entfernt.


Sub xTest()
Dim adr As Range
Dim Anz As Integer
Set adr = Worksheets("Tabelle1").Range("A3:A7")
Anz = Application.WorksheetFunction.CountIf(adr, "x")
MsgBox Anz
End Sub


Gruss Jörg
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ZählenWenn in VBA: So funktioniert's


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und öffne den VBA-Editor: Drücke ALT + F11.

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

  3. Schreibe den Code: Nutze den folgenden VBA-Code, um die Anzahl der "x" in einem bestimmten Bereich zu zählen:

    Sub xTest()
       Dim adr As Range
       Dim Anz As Integer
       Set adr = Worksheets("Tabelle1").Range("A3:A7")
       Anz = Application.WorksheetFunction.CountIf(adr, "x")
       MsgBox Anz
    End Sub
  4. Führe das Makro aus: Klicke auf F5 oder wähle Run aus dem Menü, um das Makro auszuführen und die Anzahl der "x" anzuzeigen.


Häufige Fehler und Lösungen

  • Fehlermeldung: "Typen unverträglich": Stelle sicher, dass die Variablen korrekt dimensioniert sind. Beispiel: Dim Anz As Integer.
  • Das Ergebnis ist 0, obwohl es "x" gibt: Vergewissere dich, dass der Zellbereich (z.B. A3:A7) korrekt gesetzt ist und die Zellen tatsächlich "x" enthalten.

Alternative Methoden

Wenn du eine erweiterte Zählung durchführen möchtest, kannst du COUNTIFS verwenden, um mehrere Kriterien zu berücksichtigen. Hier ein Beispiel:

Sub xTestCountIfs()
    Dim adr As Range
    Dim Anz As Integer
    Set adr = Worksheets("Tabelle1").Range("A3:A7")
    Anz = Application.WorksheetFunction.CountIfs(adr, "x")
    MsgBox Anz
End Sub

Praktische Beispiele

Angenommen, du möchtest nicht nur "x" zählen, sondern auch die Anzahl von "y" in einem anderen Bereich:

Sub yTestCountIfs()
    Dim adrX As Range
    Dim adrY As Range
    Dim AnzX As Integer
    Dim AnzY As Integer
    Set adrX = Worksheets("Tabelle1").Range("A3:A7")
    Set adrY = Worksheets("Tabelle1").Range("B3:B7")

    AnzX = Application.WorksheetFunction.CountIf(adrX, "x")
    AnzY = Application.WorksheetFunction.CountIf(adrY, "y")

    MsgBox "Anzahl x: " & AnzX & vbCrLf & "Anzahl y: " & AnzY
End Sub

Tipps für Profis

  • Verwende Long statt Integer: Wenn du mit großen Datenmengen arbeitest, kann die Verwendung von Long die Leistung und Stabilität erhöhen.
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Probleme zu vermeiden. Beispiel:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich die Zählung dynamisch gestalten? Du kannst den Bereich dynamisch festlegen, indem du UsedRange oder End(xlUp) verwendest, um den letzten gefüllten Bereich zu bestimmen.

2. Kann ich COUNTIF in einer Excel-Formel und gleichzeitig in VBA verwenden? Ja, du kannst COUNTIF sowohl in Excel-Formeln als auch in VBA verwenden. Achte darauf, dass du die Syntax in beiden Fällen korrekt anwendest.

3. Was ist der Unterschied zwischen COUNTIF und COUNTIFS? COUNTIF zählt basierend auf einem einzigen Kriterium, während COUNTIFS mehrere Kriterien 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