Grüezi Carsten
Ich muß in meinem Tabellenblatt den Bereich „A1:L1000“
überwachen und immer die unterste Zeile wissen.
Die Zellen der Spalten A bis L werden aber nicht gleichmäßig
gefüllt, sodaß ich, würde ich die Spalten einzeln abfragen,
immer unterschiedliche Werte erhalten würde.
Überprüfe ich den Bereich wie oben angegeben, dann erhalte ich
immer nur die unterste Zeile aus Spalte A, obwohl in den
Spalten B bis L schon eine ganz andere Zeile die unterste sein
kann.
Gibt es eine Syntax, mit der ich den gesamten Bereich
überwachen kann?
Du kannst das mit den folgenden Funktionen (die für die letzte Spalte ist auch gleich mit dabei) sehr einfach tun.
Aufgerufen werden die Funktionen z.B. wie folgt:
MsgBox LastRow(ActiveSheet.Range(„A:L“))
MsgBox LastColumn(ActiveSheet.Range(„A:L“))
Function LastRow(rngBereich As Range) As Long
If Application.WorksheetFunction.CountA(rngBereich) \> 0 Then
LastRow = rngBereich.Find(What:="\*", \_
SearchOrder:=xlByRows, \_
SearchDirection:=xlPrevious).Row
Else
LastRow = 0
End If
End Function
Function LastColumn(rngBereich As Range) As Long
If Application.WorksheetFunction.CountA(rngBereich) \> 0 Then
LastColumn = rngBereich.Find(What:="\*", \_
SearchOrder:=xlByColumns, \_
SearchDirection:=xlPrevious).Row
Else
LastColumn = 0
End If
End Function
Mit freundlichen Grüssen
Thomas Ramel