Clever-Excel-Forum

Normale Version: Letzte (gefüllte) Spalte finden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Excel-Freunde,

ich erhalte nach einer einfachen Funktion/Anweisung "letztespalte  =  Activesheet.Cells(1, Columns.Count).End(xlToLeft).Column" die Fehlermeldung "424 - Object erforderlich".  22
Ich bin mir faast sicher, dass ich solch eine Zeile in anderen Makros bisher genutzt habe. Wieso macht Excel nun Probleme?

Viele Grüße
Hallo,

an der geposteten Codezeile liegt es nicht.

Gruß Uwe
Hallo Uwe,

das gesamte Makro (nicht benötigte Zeilen herausgelöscht) sieht folgendermaßen aus:

Sub Ermittler()
Dim LetzteSpalte As Integer
letztespalte  =  Activesheet.Cells(1, Columns.Count).End(xlToLeft).Column 'Activesheet.Cells(1, Columns.Count).End(xlToLeft).Column
End Sub

Wie gesagt, bisher lief es auch. Merkwürdig ist, dass auch die Variable von der Schreibweise NICHT automatisch angepasst wird (Groß-und Kleinschreibung).

VG
Walter
Und wie sah es aus, als Du es erfolgreich benutztest - und unter welcher Excel-Version?

Integer erlaubt nur Werte bis 32767.

Und eine ganze Spalte speichert man in einem Variant.

Oder meinst Du mit der Zuweisung die Spaltennummer? Müsste es dann nicht .Column(s).Count heißen?

Wenn ein Objekt vermisst wird: Set-Anweisung? Auch als Grund für die Nichtanpassung des V-Namens?
Ich meine tatsächlich eine Spaltennummer. Die Syntax ist auch bei der Suche unter Google immer:
            Activesheet.Cells(1, Columns.Count).End(xlToLeft).Column

Was geht ist:   LetzteSpalte = Range("xx2").End(xlToLeft).Select

Komischerweise wird dann "letztespalte" auch automatisch zu "LetzteSpalte" nach dem Drücken der Return-Taste!

Auch die gewünschten Zuweisungen:
letztezeile  =  Activesheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
letztezeile  =  Activesheet.Cells(Rows.Count,  1).End(xlUp).Row
führen zum Laufzeitfehler "424 - Objekt erforderlich"

Ich nutze "Microsoft 365 Apps for Enterprise".
Hallo,

hast Du einmal versucht das betreffende Tabellenblatt direkt anzusprechen? Also anstelle von Activesheet - Tabelle1.blabla oder Sheets("Tabellexy") oder mit With Tabellexy .....End With
Ich hatte das Problem mit mehreren Tabellen in einer Arbeitsmaoppe ebenfalls und konnte durch Zuordnung das Problem lösen.

Grüße

Norbert
Hallo Norbert,

es lag tatsächlich daran.  28
Nachdem ich also "Acitvesheet" mit dem tatsächlichen Blattnamen austauschte, brachte Excel keine Fehlermeldung mehr und die Variablen hatten die korrekten Zuweisungen erhalten!

DANKE!

VG und ein entspanntes Weichnachtsfest
Walter