Autor: Peter Haserodt --- Aus Excel VBA - Gruppe:
Häufige FragenErste freie Zelle von rechts in einer Zeile
Autor: Peter Haserodt - Erstellt: -- - Letzte Revision: --
Eine Function um dies zu ermitteln
Wichtiger Hinweis:
Im Bereich dürfen keine ausgeblendeten Spalten 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 3 im Aufruf müssen Sie natürlich durch Ihre gewüschte Zeile ersetzen:
Public Sub Teste_EFSVRIZ()
MsgBox EFSVRIZ(ActiveSheet, 3)
End Sub
Public Function EFSVRIZ(ByVal DasTabBlatt As Worksheet, _
ByVal DieZeile As Long) As Long
'Keine ausgeblendeten Spalten im Bereich
'Weiterverwendung auf eingene Gefahr
' *** Erste Freie Spalte von Rechts in einer Zeile ***
'Gibt die erste Freie Spalte von rechts zurück.
'ist die Letzte Spalte belegt so wird - 1 zurückgegeben bei einem Fehler -2
Dim i As Long
On Error GoTo Fehler
With DasTabBlatt
If IsEmpty(.Cells(DieZeile, .Columns.Count)) Then
i = .Cells(DieZeile, .Columns.Count).End(xlToLeft).Column
If i = 1 Then
EFSVRIZ = IIf(IsEmpty(.Cells(DieZeile, i)), 1, 2)
Else
EFSVRIZ = i + 1
End If
Else
EFSVRIZ = -1
End If
End With
Exit Function
Fehler:
EFSVRIZ = -2
End Function
Weitere Artikel der Gruppe: Häufige Fragen Aus Excel VBA
Nach oben