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

Forumthread: VBA: Wenn Bereich leer, dann nichts, sonst msgbox

VBA: Wenn Bereich leer, dann nichts, sonst msgbox
25.01.2005 13:12:57
Nico
Moin
Ich möchte den Bereich a1:c10 auf dem sheet infos nach eingaben durchsuchen.
wenn eine eingabe gefunden wird, soll eine msgbox erscheinen. wenn nicht, dann soll nichts passieren.
bei meinem versuch mit If Range("Infos!A1:C10").Value "" Then bekomme ich jedesmal den laufzeitfehler 13. ?¿
kann mir jemand helfen?
danke und gruß
Nico
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA: Wenn Bereich leer, dann nichts, sonst msgbox
Galenzo
wenn's Zahlen sind, kannst du doch die Summe abfragen..
bzw. bei Text die ANZAHL2
AW: VBA: Wenn Bereich leer, dann nichts, sonst msgbox
harry
hi,
so gehts:
For Each acell In Range("Infos!A1:C10")
If IsEmpty(acell) = True Then
a = a + 1
End If
Next
If a = Range("Infos!A1:C10").Cells.Count Then
MsgBox "Leer"
End If
liebe grüße,
harry
Anzeige
AW: VBA: Wenn Bereich leer, dann nichts, sonst msg
25.01.2005 13:33:06
Nico
Hi Harry
Sauber :D
Habs etwas umgebaut und funzt bestens.
Danke
Nico
AW: VBA: Wenn Bereich leer, dann nichts, sonst msg
25.01.2005 13:44:47
Ralf
Hallo Nico,
z. B. so:

Sub teste_mal()
MsgBox WorksheetFunction.CountA([A1:C10]) = 0
End Sub

Wenn der Bereich leer ist wird in der MsgBox "Wahr" ausgegeben, sonst "Falsch".
Gruß
Ralf
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

VBA: MsgBox anzeigen, wenn Bereich nicht leer ist


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA zu überprüfen, ob ein bestimmter Bereich leer ist und eine MsgBox anzuzeigen, wenn dies nicht der Fall ist, kannst du folgenden Code verwenden:

Sub checkRange()
    Dim a As Integer
    a = 0

    For Each acell In Range("Infos!A1:C10")
        If IsEmpty(acell) = True Then
            a = a + 1
        End If
    Next

    If a <> Range("Infos!A1:C10").Cells.Count Then
        MsgBox "Der Bereich enthält Werte."
    Else
        MsgBox "Der Bereich ist leer."
    End If
End Sub

Dieser Code durchläuft den Bereich A1:C10 auf dem Arbeitsblatt "Infos". Wenn der Bereich nicht leer ist, wird eine MsgBox mit der Nachricht angezeigt.


Häufige Fehler und Lösungen

  1. Laufzeitfehler 13: Dieser Fehler tritt häufig auf, wenn du versuchst, einen Bereich auf einen leeren Wert zu überprüfen. Verwende IsEmpty, um sicherzustellen, dass du nur mit leeren Zellen arbeitest.

  2. Falsche Bereichsangaben: Achte darauf, dass der angegebene Bereich korrekt ist. Wenn der Bereich nicht existiert oder falsch geschrieben ist, kann das zu Fehlern führen.

  3. MsgBox zeigt falsche Werte an: Wenn die MsgBox die falsche Nachricht anzeigt, überprüfe, ob die Bedingungen in deinem If-Statement korrekt sind.


Alternative Methoden

Falls du eine alternative Methode bevorzugst, kannst du auch die Funktion CountA verwenden, um zu überprüfen, ob der Bereich leer ist:

Sub checkWithCountA()
    If WorksheetFunction.CountA(Range("Infos!A1:C10")) = 0 Then
        MsgBox "Der Bereich ist leer."
    Else
        MsgBox "Der Bereich enthält Werte."
    End If
End Sub

Diese Methode ist effizient und einfach, um festzustellen, ob der Bereich leer ist oder nicht.


Praktische Beispiele

Hier sind einige Beispiele, die dir helfen, das Konzept besser zu verstehen:

  1. Überprüfung eines einzelnen Zellenbereichs:

    If Not IsEmpty(Range("Infos!A1")) Then
       MsgBox "Die Zelle A1 ist nicht leer."
    End If
  2. Überprüfung mehrerer Zellen:

    If Application.WorksheetFunction.CountA(Range("Infos!A1:C10")) > 0 Then
       MsgBox "Mindestens eine Zelle ist gefüllt."
    End If

Diese Beispiele zeigen, wie du gezielt überprüfen kannst, ob Zellen in einem bestimmten Bereich leer sind.


Tipps für Profis

  • Verwende Arrays: Wenn du mit größeren Datenmengen arbeitest, kann es effizienter sein, die Werte in ein Array zu laden und dann die Überprüfung durchzuführen.

  • Fehlermeldungen anpassen: Du kannst die MsgBox anpassen, um spezifischere Informationen über die leer gebliebenen Zellen anzuzeigen.

  • Debugging: Wenn du auf Probleme stößt, füge Debug.Print-Anweisungen hinzu, um den Status und die Werte während der Ausführung anzuzeigen.


FAQ: Häufige Fragen

1. Wie kann ich die MsgBox anpassen?
Du kannst die MsgBox mit zusätzlichen Parametern anpassen, um Schaltflächen oder Icons hinzuzufügen. Beispiel:

MsgBox "Der Bereich ist leer.", vbExclamation, "Warnung"

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, diese VBA-Funktionen sollten in den meisten modernen Excel-Versionen funktionieren, solange VBA unterstützt wird.

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