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?
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
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