Autor: Peter Haserodt --- Aus Excel VBA - Gruppe:
Häufige FragenErste Freie Zelle von unten in einer Spalte
Autor: Peter Haserodt - Erstellt: -- - Letzte Revision: --
Eine Function um dies zu ermitteln
Wichtiger Hinweis:
Im Bereich dürfen keine ausgeblendeten Zeilen sein, dies könnte zu einer fehlerhaften Zellermittlung führen.
Ergänzend:
Dies ist für die Ermittlung im "freien" Raum.
D.h., man hat keinen zusammenhängenden Bereich, den man überprüfen kann.
Arbeitet man, wie es sein sollte, mit intakten Listen, so ist eine Überprüfung mit CurrentRegion absolut vorzuziehen.
Ich habe dies und den Hinweis auf ausgeblendet ergänzt, weil mir klar wurde, dass die Problematik des Ausgeblendeten nicht jedem Anwender bewusst ist.
Die 5 im Aufruf müssen Sie natürlich durch Ihre gewüschte Spalte ersetzen:
Public Sub Teste_EFZVUIS()
MsgBox EFZVUIS(ActiveSheet, 5)
End Sub
Public Function EFZVUIS(ByVal DasTabBlatt As Worksheet, _
ByVal DieSpalte As Integer) As Long
'Weiterverwendung auf eingene Gefahr
'Keine Zeilen ausgeblendet
' *** Erste Freie Zeile von unten in einer Spalte ***
'Gibt die erste Freie Zeile von unten zurück.
'ist die Letzte Zelle belegt so wird - 1 zurückgegeben bei einem Fehler -2
Dim i As Long
On Error GoTo Fehler
With DasTabBlatt
If IsEmpty(.Cells(.Rows.Count, DieSpalte)) Then
i = .Cells(.Rows.Count, DieSpalte).End(xlUp).Row
If i = 1 Then
EFZVUIS = IIf(IsEmpty(.Cells(i, DieSpalte)), 1, 2)
Else
EFZVUIS = i + 1
End If
Else
EFZVUIS = -1
End If
End With
Exit Function
Fehler:
EFZVUIS = -2
End Function
Weitere Artikel der Gruppe: Häufige Fragen Aus Excel VBA
Nach oben