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

Forumthread: Anzahl nicht leere Zellen ermitteln mit VBA

Anzahl nicht leere Zellen ermitteln mit VBA
10.11.2017 08:26:49
Spuler
Guten Morgen liebe VBA-Kollegen!
Ich möchte in einem Sheet die Anzahl "gefüllten" Zellen ( "" ) im Bereich A1:A20 ermitteln. Wenn 10 Zellen einen Wert aufweisen (Text oder Zahl), soll eine Messagebox erscheinen mit der Meldung: "Maximale Anzahl Einträge wurden erreicht!"
Danach dürfen keine weitere Einträge mehr erfasst werden können.
Könnt Ihr mir mit Anregungen helfen?
Einen schönen Tag und Gruss
Marcel
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
und Daten/Gültigkeit willst Du nicht? owT
10.11.2017 08:37:12
Matthias
AW: und Daten/Gültigkeit willst Du nicht? owT
10.11.2017 08:57:07
Spuler
Hallo Matthias
Nein das geht leider nicht da ich den Code in eine bestehende Prozedur einbetten möchte. Es geht darum, dass ich per UserForm eine Eingabemaske für Listenfelder habe. Excel sucht mir dann die nächste freie Zeile und setzt die Felder dann in die entsprechenden Spalten ein. Es dürfen aber maximal 10 Einträge gemacht werden können, da sonst nachfolgenden Daten überschrieben werden.
Darum brauche ich nach jeder Eingabe diese Zellendedektion, die ermittelt ob bereits 10 einträge verfasst wurden. Wenn ja eben die beschriebene Messagebox.
Grüsse Marcel
Anzeige
AW: und Daten/Gültigkeit willst Du nicht? owT
10.11.2017 09:23:00
EtoPHG
Hallo Marcel,
Probiere:
    If WorksheetFunction.CountA(ActiveSheet.Range("A1:A20")) > 9 Then
MsgBox "jez is genug!", vbCritical
Else
MsgBox "wir können weitermachen"
End If
Gruess Hansueli
AW: und Daten/Gültigkeit willst Du nicht? owT
10.11.2017 09:56:43
Spuler
Super! Vielen Dank, ich werde es probieren.
Grüsse
Marcel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Anzahl nicht leerer Zellen mit VBA ermitteln


Schritt-für-Schritt-Anleitung

Um die Anzahl der nicht leeren Zellen in einem bestimmten Bereich (z.B. A1:A20) mit VBA zu ermitteln, kannst du folgenden Code verwenden:

Sub ZaehleNichtLeereZellen()
    Dim anzahl As Integer
    anzahl = WorksheetFunction.CountA(ActiveSheet.Range("A1:A20"))

    If anzahl > 9 Then
        MsgBox "Maximale Anzahl Einträge wurden erreicht!", vbCritical
    Else
        MsgBox "Es können noch Einträge gemacht werden."
    End If
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen -> Modul).
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und kehre zu Excel zurück.
  5. Führe das Makro ZaehleNichtLeereZellen aus.

Dieser Code zählt die nicht leeren Zellen und zeigt eine entsprechende Nachricht an, wenn die maximale Anzahl (10) erreicht ist.


Häufige Fehler und Lösungen

  • Fehler: "Runtime Error 1004"

    • Lösung: Überprüfe, ob der Bereich (A1:A20) korrekt definiert ist und ob das Arbeitsblatt aktiv ist.
  • Fehler: MsgBox zeigt nicht die erwartete Nachricht an

    • Lösung: Stelle sicher, dass du den Code in das richtige Modul eingefügt hast und dass keine anderen Makros den Zählmechanismus stören.

Alternative Methoden

Anstelle von VBA kannst du auch die Excel-Funktionen nutzen, um die Anzahl nicht leerer Zellen zu zählen. Verwende folgende Formel:

=ANZAHL2(A1:A20)

Diese Formel zählt die Anzahl der nicht leeren Zellen im Bereich A1:A20 direkt in einer Zelle in deinem Excel-Arbeitsblatt.


Praktische Beispiele

  1. Beispiel mit einer UserForm: Wenn du eine Eingabemaske in einer UserForm hast, kannst du den Zählmechanismus direkt nach der Eingabe integrieren, um die Benutzer zu warnen, wenn die maximale Anzahl an Einträgen erreicht ist.

  2. Zählen nicht leerer Zellen in verschiedenen Bereichen: Du kannst den oben genannten VBA-Code leicht anpassen, um mehrere Bereiche zu zählen, indem du die CountA-Funktion entsprechend anpasst.


Tipps für Profis

  • Verwende WorksheetFunction.CountA für eine schnelle und effiziente Zählung nicht leerer Zellen.
  • Kombiniere die Zählung mit weiteren Validierungsmechanismen in deiner UserForm, um die Dateneingabe zu optimieren.
  • Teste deinen Code immer in einer Kopie deiner Arbeitsmappe, um unbeabsichtigte Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der leeren Zellen zählen? Du kannst die Funktion =ANZAHLLEEREZELLEN(A1:A20) verwenden, um die Anzahl der leeren Zellen zu ermitteln.

2. Was mache ich, wenn ich mehrere Bereiche zählen möchte? Du kannst die CountA-Funktion für mehrere Bereiche kombinieren, z.B. =ANZAHL2(A1:A20) + ANZAHL2(B1:B20).

3. Kann ich auch ganze Zeilen zählen? Ja, du kannst die Funktion =ANZAHL2(A:A) verwenden, um alle nicht leeren Zellen einer gesamten Spalte zu zählen.

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