Autor: Peter Haserodt  --- Aus Excel VBA - Gruppe: Häufige Fragen

Erste 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