Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Letzte (gefüllte) Spalte finden
#1
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
Antworten Top
#2
Hallo,

an der geposteten Codezeile liegt es nicht.

Gruß Uwe
Antworten Top
#3
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
Antworten Top
#4
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?
Antworten Top
#5
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".
Antworten Top
#6
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
Antworten Top
#7
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste