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

Forumthread: Wie prüfen, ob Range leer ist

Wie prüfen, ob Range leer ist
21.03.2017 15:12:35
Dasha
Hallo Leute,
ich bekomme den Fehler 13 (Typen Unverträglich).
Das hängt mit dem Range-Befehl zusammen. Hilfe. Wie prüfe ich das denn?
If Max = True And Range(Cells(2, 8).Value, Cells(2, 10).Value) "" Then
Cells(1,1) = "Bereich ist leer"
End If
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Wie prüfen, ob Range leer ist
21.03.2017 15:23:15
Anton
Hallo Dasha,
probier mal so:
If Max = True And IsEmpty(Range(.Cells(2, 8), .Cells(2, 10))) = True Then
.Cells(1,1) = "Bereich ist leer"
End If
VG Anton
AW: Wie prüfen, ob Range leer ist
21.03.2017 15:32:04
Dasha
Hi Anton,
danke, kleines Problem noch. Auch, wenn nur eine Zelle leer ist, ist die BEdingung nicht erfüllt.
Die Bedingung ist erfüllt, wenn mindestesn eine Zelle nicht leer ist. Wie kann ich das prüfen?
Anzeige
AW: Wie prüfen, ob Range leer ist
21.03.2017 15:30:36
GraFri
Hallo Dasha
Versuch's mal so:
Option Explicit
Sub Bereich_leer()
Dim objRng As Range
Dim Max As Boolean
Max = True
Set objRng = ThisWorkbook.Worksheets("Tabelle1").Range(Cells(2, 8), Cells(2, 10))
If Max = True And WorksheetFunction.CountA(objRng) = 0 Then
Cells(1, 1) = "Bereich ist leer"
End If
End Sub
mfg, GraFri
Anzeige
AW: Wie prüfen, ob Range leer ist
21.03.2017 15:37:11
Dasha
DANKE!!!
;

Forumthreads zu verwandten Themen

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üfen, ob ein Range in Excel leer ist


Schritt-für-Schritt-Anleitung

Um zu überprüfen, ob ein Range in Excel leer ist, kannst du verschiedene Methoden anwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, die dir hilft:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    Sub Bereich_leer()
       Dim objRng As Range
       Dim Max As Boolean
       Max = True
       Set objRng = ThisWorkbook.Worksheets("Tabelle1").Range(Cells(2, 8), Cells(2, 10))
       If Max = True And WorksheetFunction.CountA(objRng) = 0 Then
           Cells(1, 1) = "Bereich ist leer"
       End If
    End Sub
  4. Führe das Makro aus: Klicke im Menü auf "Run" und wähle "Run Sub/UserForm" oder drücke F5.

Diese Methode verwendet die CountA-Funktion, um zu überprüfen, ob der Range leer ist. Wenn der Bereich leer ist, wird die Zelle A1 mit dem Text "Bereich ist leer" gefüllt.


Häufige Fehler und Lösungen

  • Fehler 13 (Typen Unverträglich): Dieser Fehler tritt häufig auf, wenn der Range-Befehl nicht korrekt verwendet wird. Stelle sicher, dass du den Range wie folgt angibst:

    If Max = True And IsEmpty(Range(Cells(2, 8), Cells(2, 10))) = True Then
  • Die Bedingung wird nicht erfüllt: Wenn du prüfen möchtest, ob mindestens eine Zelle im Range leer ist, kannst du den Code wie folgt anpassen:

    If Max = True And WorksheetFunction.CountA(objRng) > 0 Then
       Cells(1, 1) = "Mindestens eine Zelle ist nicht leer"
    End If

Alternative Methoden

Es gibt verschiedene Ansätze, um in Excel zu überprüfen, ob eine Zelle leer ist. Hier sind einige alternative Methoden:

  1. Verwendung von IsEmpty: Du kannst IsEmpty verwenden, um zu prüfen, ob eine spezifische Zelle leer ist:

    If IsEmpty(Cells(2, 8)) Then
       Cells(1, 1) = "Zelle ist leer"
    End If
  2. Direkte Zellabfrage: Du kannst auch eine einfache Abfrage verwenden:

    If Cells(2, 8).Value = "" Then
       Cells(1, 1) = "Zelle ist leer"
    End If

Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, die Konzepte besser zu verstehen:

  • Beispiel zur Überprüfung mehrerer Zellen:

    Sub CheckRange()
       Dim rng As Range
       Set rng = ThisWorkbook.Worksheets("Tabelle1").Range("A1:C3")
       If Application.WorksheetFunction.CountA(rng) = 0 Then
           MsgBox "Der gesamte Bereich ist leer."
       Else
           MsgBox "Der Bereich enthält Daten."
       End If
    End Sub
  • Beispiel zur Verwendung einer Schleife:

    Sub CheckCells()
       Dim i As Integer
       For i = 1 To 3
           If IsEmpty(Cells(i, 1)) Then
               Cells(i, 2) = "Zelle " & i & " ist leer"
           End If
       Next i
    End Sub

Tipps für Profis

  • Nutze die CountA-Funktion, um in einem Range schnell die Anzahl der nicht-leeren Zellen zu ermitteln.
  • Arbeite mit Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind, was Fehlerquellen minimiert.
  • Verwende Debug.Print, um den Status deiner Variablen während der Ausführung zu überprüfen und so potenzielle Fehler schneller zu finden.

FAQ: Häufige Fragen

1. Wie kann ich in Excel VBA prüfen, ob eine Zelle leer ist?
Du kannst IsEmpty oder eine einfache Bedingung wie If Cells(row, column).Value = "" verwenden.

2. Was ist der Unterschied zwischen IsEmpty und CountA?
IsEmpty prüft, ob eine einzelne Zelle leer ist, während CountA die Anzahl der nicht-leeren Zellen in einem Range zählt.

3. Wie kann ich mehrere Zellen auf Leerheit prüfen?
Verwende eine Schleife oder die CountA-Funktion, um die gesamte Range zu überprüfen.

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