200 Aufrufe
Gefragt in Tabellenkalkulation von
Ich bin völliger VBA/Excel Anfänger, jetzt brauche ich eine Bedingung die Überprüft ob die Spalte (z.B. Range("J2", "J" & finalRow) ) komplett mit werten befüllt ist. Wenn die Spalte/Range komplett mit Werten beschrieben ist dann soll die Schleife verlassen werden (Exit For). Ich brauche also eine Methode mit der Überprüft werden kann ob alle zellen beschrieben sind

P.S. mit Not IsEmpty() habe ich es schon ausprobiert, bekomme aber nicht das gewünschte Ergebnis

danke

2 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo,

eine Möglichkeit wäre der folgende Code:

Sub Beispiel()
Dim rngBereich As Range

Set rngBereich = Range("A1:A10")

If Application.WorksheetFunction.Count(rngBereich) = rngBereich.Cells.Count Then
  MsgBox "Alle Zellen belegt"
Else
  MsgBox "Nicht alle Zellen gefüllt"
End If

End Sub

Hier werden die Zellen mit Werten mit der Anzahl der Zellen in dem besagten Bereich verglichen.

Gruß

M.O.

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi,

du kannst SpecialCells benutzen:

Sub GefuelltLeer()
    Dim lngLetzte As Long
    Dim varLeere As Variant
    lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 10)), Cells(Rows.Count, 10).End(xlUp).Row, Rows.Count)
    On Error Resume Next
    varLeere = Range(Cells(2, 10), Cells(lngLetzte, 10)).SpecialCells(xlCellTypeBlanks).Count
    On Error GoTo 0
    If varLeere <> "" Then MsgBox "Noch leere Zellen vorhanden"
End Sub

Beachte: On Error Resume Next ist hier notwendig, weil ein Laufzeitfehler aus gelöst würde, falls keine leeren Zellen vorhanden sind. Bei Verwendun von On Error sollte man nach der Prüfung die Fehlerbehandlung wieder zurücksetzen - hier mit On Error GoTo 0

Bis später, Karin

...