25.07.2017, 17:29
Code:
Public Function LastRow(wks As Worksheet) As Long
Dim lngFirst As Long, lngLast As Long, lngTmp As Long
With Application
If .CountA(wks.Cells) = 0 Then Exit Function
If .CountA(wks.Rows(wks.Rows.Count)) Then
LastRow = wks.Rows.Count: Exit Function
End If
lngLast = wks.Rows.Count
Do While lngLast > lngFirst + 1
lngTmp = (lngFirst + lngLast) \ 2
If .CountA(wks.Rows(lngTmp).Resize(lngLast - lngTmp)) Then _
lngFirst = lngTmp Else lngLast = lngTmp
Loop
If .CountA(wks.Rows(lngLast)) Then LastRow = lngLast Else LastRow = lngFirst
End With
End Function
Hallo!
Ich würde gern in einem Sub die oben angegebene Funktion öffnen, um die letzte beschriebene Zeile in der Tabelle zu finden.
Dazu müsste die Funktion die Nummer der letzten beschriebenen Zeile zurückgeben und die Funktion müsste aufgerufen werden.
Leider bekomme ich bei folgendem Code im Sub eine Fehlermeldung:
Code:
Public Sub CommandButton1_Click()
Dim LRow As Long
LRow = LastRow()
Tabelle1.Cells(LastRow, 3) = TextBox1.Text
Tabelle1.Cells(LastRow, 8) = TextBox2.Text
End Sub