AnzahlLeereZellen() Funktion im Makro

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: AnzahlLeereZellen() Funktion im Makro
von: Diethelm Kiesel
Geschrieben am: 01.07.2002 - 11:36:56

Gibt es eine Möglichkeit die Formel AnzahlLeereZellen(wx:yz) auch in einem Makro zu benutzen. Oder gibt es eine äquivalente Funktion? Ich benötige sogar noch nicht mal die Anzahl leerer Zellen, sondern nur die Info ob alle markierten Zellen leer sind. Bitte keine Funktion mit einer Schleife, das hab ich schon programmiert und dauert zu lange. (Große Tabelle)
Wäre Dankbar für einen Tip oder die Lösung!
MfG Diethelm

nach oben   nach unten

Re: AnzahlLeereZellen() Funktion im Makro
von: Timo
Geschrieben am: 01.07.2002 - 12:05:05

Hallo Diethelm,

wie willst du das ganze denn lösen, wenn nicht über eine Schleife? Die müssen auch nicht zwangläufig langsam sein, wie dir folgendes Beispiel verdeutlicht:


Sub Suchen()

Dim As Single

For i = 1 To 65536
    If Cells(i, 1).Value = "" Then
    Else
        MsgBox ("Diese Zelle ist nicht leer: A" & i)
        Exit For
    End If
Next i

MsgBox ("Fertig")

End Sub

Das Makro durchsucht alle Zellen in Spalte 1 und stoppt bei der ersten Zelle, die einen Inhalt hat. Wenn nix drinsteht läuft das Makro innerhalb von ca. 5 Sekunden durch und meldet Fertig...

Gruss
Timo

nach oben   nach unten

Re: AnzahlLeereZellen() Funktion im Makro
von: Martin Beck
Geschrieben am: 01.07.2002 - 12:05:58

Hallo Diethelm,

versuch mal


Sub ist_alles_leer()
x = Application.WorksheetFunction.CountBlank(Selection)
y = Selection.Cells.Count
MsgBox y - x & " nicht leere Zellen im markierten Bereich."
End Sub

Gruß
Martin Beck


nach oben   nach unten

Re: AnzahlLeereZellen() Funktion im Makro
von: Diethelm Kiesel
Geschrieben am: 01.07.2002 - 13:29:00

Deine Lösung ist prima, und am elegantesten. Hatte die Funktion .Countblank nicht gefunden. Nur als Funktion im Excel-Sheet. Hatte mir die untere Lösung gebastelt. Funktioniert auch, aber sehr tricky. Danke für Deine Hilfe. (Auch an Timo)

Gruß Diethelm


DS = 3 ' Spalte, welche getestet werden soll
ActiveSheet.UsedRange.Select
DZ = Selection.Rows.Count 'Anzahl von benutzten Zeilen
Cells(DZ + 1, DS).Select ' Feld unter dem letzt-benutzten, für Berechnung verwenden
ActiveCell.FormulaR1C1 = "=COUNTBLANK(R[-" + Mid$(str$(DZ - 1), 2) + "]C[0]:R[0]C[0])"
'Formel für ANZAHLLEEREZELLEN eintragen mit Range-Bereich der alle Zellen dieser Reihe angibt.
'(relative Bereichsangabe zur aktiven Zelle)
XX = ActiveCell.Value 'Berechneten Wert auslesen
ActiveCell.FormulaR1C1 = ""

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "AnzahlLeereZellen() Funktion im Makro"