folgendes Problem habe ich.
Ich suche die Letzte Zeile oder Spalte in einer Tabelle mit VBA.
Er findet auch die letzte Zeile aber immer wieder auf der ersten
Tabelle1.
Ich möchte aber das er in allen Tabelle die letzte Zeile findet.
Mein VBA Makro:
Sub LetzteZeileSuchen()
Application.ScreenUpdating = False 'Bearbeitung des Makro im Hintergrund
On Error Resume Next
Dim LastColumn As Integer
Dim LastRow As Integer
Dim ws As Worksheet
Dim atWS As String
Dim atMappe ' As Datei
For Each atMappe In Worksheets
atWS = atMappe.Name
LastColumn = Cells.Find(what:="*", searchorder:=xlByColumns, searchdirection:=xlPrevious).Column
LastRow = Cells.Find(what:="*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
'LastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
'MsgBox "Spalte " & Cells.SpecialCells(xlCellTypeLastCell).Column
' If LastColumn > 0 Then ' überprüft ob werte in der Tabelle vorhanden
' MsgBox "Tabelle: '" & atWS & "' : Zeile " & LastRow & " und Spalte " & LastColumn
' End If
' Else
' 'MsgBox ("Tabelle enthält keine Daten.")
' GoTo nechsteTabelle
' End If
nechsteTabelle:
Next
Application.ScreenUpdating = True
End Sub
Function Position_letzte_Zeile(ByVal cSheetName As String) As Long
'stellt die "letzte Zeile" fest
Dim i As Long
ThisWorkbook.Worksheets(cSheetName).Activate
Cells(1, 1).Activate
If Not bIsDebug Then On Error GoTo FehlerRoutine
With Worksheets(cSheetName)
Position_letzte_Zeile = Cells.SpecialCells(xlCellTypeLastCell).Row
For i = 1 To Position_letzte_Zeile
If UCase(CStr(.Cells(i, 1).Value)) = "END" Then
Position_letzte_Zeile = i
Exit Function
End If
Next i
End With
FehlerRoutine:
If Err.Number > 0 Then
Position_letzte_Zeile = 500
End If
End Function