AW: Letzte Zelle in bestimmter Spalte finden (VBA)
31.07.2003 13:24:37
Dan
' Hallo Fritz,
' ich schicke dir eine function, die die zeile der nachsten freien zelle in bestimmter
' spalte zuruck gibt. Die
Function hat 3 parameter : 1.der worksheet, wo man sucht,
' 2.die spalte wo man sucht, 3.die zeile, wo man mit der suche beginnen will. Wenn die
' Start-Zelle leer ist, gibt die
Function die zeile dieser zellen zuruck. Vielleicht
' kann dir diese func. helfen :-). Mfg. Dan
Option Explicit
Public
Function get_row_of_last_free_cell(ByVal sh As Worksheet, Optional ByVal col As Integer = 1, Optional ByVal starting_row As Integer = 1) As Long
Dim row As Long
On Error GoTo hErr
row = starting_row
With sh
Do While (.Cells(row, col).Value <> "")
row = row + 1
Loop
End With
get_row_of_last_free_cell = row
Exit Function
hErr:
MsgBox "Laufzeitsfehler Nr. " & Err.Number & ". " & Err.Description
get_row_of_last_free_cell = 0
End Function
Public
Sub CallFuncExample()
' wenn die Start-Zelle leer ist, gibt die
Function ihre Zeile zuruck
Dim lngNextRow As Long
lngNextRow = get_row_of_last_free_cell(Worksheets("test")) ' suche beginnt in der 1.Spalte und in der 1.Zeile
Debug.Print "col = 1, row = 1 : " & lngNextRow
lngNextRow = get_row_of_last_free_cell(Worksheets("test"), , 10) ' suche beginnt in der 1.Spalte und in der 10.Zeile
Debug.Print "col = 1, row = 10 : " & lngNextRow
lngNextRow = get_row_of_last_free_cell(Worksheets("test"), 3, 15) ' suche beginnt in der 3.Spalte und in der 15.Zeile
Debug.Print "col = 3, row = 15 : " & lngNextRow
End Sub