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

Forumthread: Prüfung ob Bereich leer

Prüfung ob Bereich leer
13.07.2004 13:19:07
Joachim
Hallo,
wie kann ich per VBA prüfen, ob ein Zellbereich leer ist bzw. gelöscht wurde?
Ich habe die Change-Ereignisprozedur und will prüfen, ob A1:A10 gelöscht wurde.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target ... = Empty geht nicht,
End Sub

Wie muss ich via Target meine Abfrage formulieren, wenn ich den ganzen Bereich A1 bis A10 erfassen will und nicht nur eine Zelle?
Mit einer einzigen Zelle ist's einfach: z.B.
If target.value = empty
Bei einem Bereich gibt's einen Laufzeitfehler.
Wie muss ich das für einen Bereich richtig formulieren?
Danke und Grüße
joachim
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung ob Bereich leer
Ulf
if application.counta([A1:a10])= 0 then
msgbox "Leer!"
end if
AW: Prüfung ob Bereich leer
Uduuh
Hallo,
If Application.WorksheetFunction.CountA(Target)=0 Then
Gruß aus'm Pott
Udo
AW: Prüfung ob Bereich leer
13.07.2004 13:39:23
Joachim
Herzlichen Dank, klappt super!
Grüße
Joachim
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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

Prüfung ob Bereich in Excel leer ist


Schritt-für-Schritt-Anleitung

Um per VBA zu prüfen, ob ein Zellbereich in Excel leer ist, kannst du die Worksheet_Change-Ereignisprozedur verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, um dies umzusetzen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Wähle das entsprechende Arbeitsblatt aus der Projektliste auf der linken Seite.

  3. Füge den folgenden Code in das Worksheet-Modul ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Application.CountA(Range("A1:A10")) = 0 Then
           MsgBox "Der Bereich A1:A10 ist leer!"
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Teste die Funktion, indem du den Bereich A1:A10 leer machst.


Häufige Fehler und Lösungen

  • Laufzeitfehler bei der Abfrage eines Bereichs: Wenn du versuchst, direkt If Target = Empty zu verwenden, wirst du einen Laufzeitfehler erhalten. Stattdessen solltest du Application.CountA verwenden, um die Anzahl der nicht-leeren Zellen zu zählen.

  • Falscher Zellbereich: Stelle sicher, dass der Zellbereich korrekt angegeben ist. Achte darauf, dass die Schreibweise exakt ist (z.B. Range("A1:A10")).


Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch eine einfache Formel in Excel nutzen, um zu prüfen, ob ein Bereich leer ist:

  1. Verwende die folgende Formel in einer Zelle:

    =WENN(COUNTA(A1:A10)=0; "Leer"; "Nicht leer")

Diese Formel gibt "Leer" zurück, wenn der Bereich A1:A10 leer ist, andernfalls "Nicht leer".


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung der VBA-Methode:

  • Nach dem Löschen von Daten: Wenn du Daten aus A1:A10 löschst, wird automatisch eine Nachricht angezeigt, die bestätigt, dass der Bereich leer ist.

  • Anpassung des Bereichs: Du kannst den Bereich leicht anpassen, indem du den Zellbereich in der CountA-Funktion änderst, z.B. Range("B1:B10").


Tipps für Profis

  • Optimierung der Performance: Wenn du mit großen Datenmengen arbeitest, solltest du die Performance im Auge behalten. Verwende Application.EnableEvents = False vor dem Code und setze es am Ende wieder auf True, um das wiederholte Triggern des Events zu vermeiden.

  • Verwende ElseIf für mehrere Bereiche: Wenn du mehrere Bereiche überprüfen möchtest, kannst du ElseIf verwenden, um verschiedene Bedingungen zu prüfen.


FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehrere Bereiche gleichzeitig zu prüfen?
Du kannst mehrere Bedingungen im If-Statement hinzufügen, indem du ElseIf verwendest, um verschiedene Zellbereiche zu überprüfen.

2. Funktioniert dieser Code in Excel 365?
Ja, der VBA-Code funktioniert in Excel 365 sowie in anderen Versionen, die VBA unterstützen. Achte darauf, dass die Makros aktiviert sind.

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