Clever-Excel-Forum

Normale Version: Letzte befüllte Zeile einer Tabelle anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe eine Aufstellung angefertigt und mir bisher per Makro die letzte Zelle, die in der Aufstellung einen Wert in Spalte C hatte, anzeigen lassen mit

Range("C65536").End(xlUp).Select

Jetzt habe ich die Aufstellung auch als Tabelle formatiert, um eine grau-weiße Schattierung hinzubekommen.

Jetzt wird beim Öffnen immer die letzte als Tabelle formatierte Zeile angezeigt, auch wenn dort keine Daten eingegeben wurden.

Was muss ich tun, damit beim Öffnen der Exceldatei die letzte Zeile in Spalte C angezeigt wird, in der Daten eingegeben sind?

Vielen Dank

Excelbeginner
Code:
Option Explicit

Function FindLastRow(rg As Range) As Long
   
    On Error GoTo EH
   
    FindLastRow = rg.Find("*", , Lookat:=xlPart, LookIn:=xlFormulas _
            , searchorder:=xlByRows, searchdirection:=xlPrevious).Row
Exit Function
EH:
    FindLastRow = rg.Cells(1, 1).Row
End Function

Sub testIt()

    Dim lastRow As Long
    lastRow = FindLastRow(Columns(3))
   
    Range("C" & lastRow).Select

End Sub
Hallo Warkings,

funktioniert ganz ausgezeichnet!!

Allerbesten Dank!!

Excelbeginner
(17.09.2022, 19:07)Excelbeginner schrieb: [ -> ]Jetzt wird beim Öffnen immer die letzte als Tabelle formatierte Zeile angezeigt, auch wenn dort keine Daten eingegeben wurden.

Moin!
Eine Tabelle mit leeren Zeilen "auf Vorrat" macht überhaupt keinen Sinn!
(so werden z.B. beim Ausdruck diese "leeren" Zeilen mitgedruckt)
Sobald etwas in Spalte A unterhalb der Tabelle eingetragen wird, erweitert sie sich automatisch, incl. Formeln und Formatierungen.

Um Deine nächste Frage bereits jetzt zu beantworten:
Willst Du dieses Tabellenobjekt mittels VBA erweitern, gibt es andere Methoden.
Siehe https://www.thespreadsheetguru.com/blog/...cel-tables

Gruß Ralf