Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

letzte gefüllte SPALTE

Forumthread: letzte gefüllte SPALTE

letzte gefüllte SPALTE
13.01.2004 15:09:02
Carsten
Hallo Leute,
ich habe lange gesucht aber immer nur Beispiele gefunden zum Thema "letzte gefüllte Zeile".
Wie kann ich die letzte gefüllte SPALTE feststellen?
Gruß
Carsten
Anzeige

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte gefüllte SPALTE
13.01.2004 15:11:45
Russi
Hallo Carsten!
Hilft Dir das (Exemplarisch für Zeile 1)?

Sub Makro1()
Range("A1").Select
Selection.End(xlToRight).Select
Debug.Print ActiveCell.Column
End Sub

Viele Grüße
Russi
AW: letzte gefüllte SPALTE
13.01.2004 15:16:15
Carsten
Hallo Russi,
das ist genau die Lösung die ich vermeiden möchte denn so muß ich 65536 Zeilen prüfen. Etwas zu langwierig, leider.
Gruß
Carsten
Anzeige
AW: letzte gefüllte SPALTE
13.01.2004 15:26:20
Russi
Dann noch´n Versuch:

Sub ZellBlockA()
Dim rng As Range
Set rng = Range("A1").CurrentRegion
intLastCol = rng.Columns.Count
End 

Sub
Besser?

AW: letzte gefüllte SPALTE
13.01.2004 15:13:08
Hajo_Zi
Hallo Carsten
Dim LoLetzte As Long
LoLetzte =256
If [IV4] = “” ThenLoLetzte =[IV4].End(xlToLeft).Column

Gruß hajo
Anzeige
AW: letzte gefüllte SPALTE
13.01.2004 15:19:16
Carsten
Hallo Hajo,
sorry, aber kannst Du mir das erklären? Da steige ich nicht ganz durch.
Gruß
Carsten
AW: letzte gefüllte SPALTE
13.01.2004 15:25:16
Hajo_Zi
Hallo Carsten
damit wird die letzte Spalte in Zeile 4 ermittelt.
Laut Deinen anderen Beiträgen

Sub Tes()
MsgBox Sheets("Tabelle1").UsedRange.SpecialCells(xlCellTypeLastCell).Column
End Sub

Gruß Hajo
Anzeige
AW: letzte gefüllte SPALTE
13.01.2004 15:17:47
Mac4
Hier noch eine Formellösung (Bsp. für Zeile 1):
{=MAX((1:1<>"")*(SPALTE(1:1)))}
Marc
AW: letzte gefüllte SPALTE
13.01.2004 15:21:03
Carsten
Hallo Marc,
danke für die Formel. Ich möchte das allerdings in einem Makro weiternutzen also sollte das Ganze auch per Makro ermittelt werden.
Trotzdem danke für die Mühe.
Gruß
Carsten
Anzeige
Das kann man auch per Makro ermitteln...
13.01.2004 15:26:41
Boris
Hi Carsten,
mit

Sub test()
MsgBox [MAX((1:1<>"")*COLUMN(1:1))]
End Sub

Grüße Boris
[MAX((1:256<>"")*COLUMN(1:1))]
13.01.2004 15:32:55
FCH
Hi Boris,
es war das gesamt Blatt gemeint.
Gruß
FCH
AW: [MAX((1:256<>"")*COLUMN(1:1))]
13.01.2004 15:35:24
Carsten
Super, genau das ist es. Vielen Dank.
Gruß
Carsten
Anzeige
Das Danke gehört Boris o.T.
13.01.2004 15:39:00
FCH
.
Der Dank gebührt euch beiden o.T.
13.01.2004 15:40:45
Carsten
Aber auch mit 1:256 hast du nicht das gesamte ...
13.01.2004 15:42:21
Boris
Hi J...FCH,
...Blatt, sondern nur die ersten 256 Zeilen.
Ich wollte ja auch nur zeigen, dass man auch solche Array-Dinger recht einfach in VBA einbinden kann - und zwar mit den [Evaluate]-Klammern. ;-)
Grüße Boris
Anzeige
AW: Aber auch mit 1:256 hast du nicht das gesamte ...
13.01.2004 15:46:46
FCH
Muahhh, hab ich doch glatt Zeilen und Spalten vertauscht.
AW: Das kann man auch per Makro ermitteln...
13.01.2004 15:41:51
Carsten
Hallo Boris,
danke füe die (fast)-Lösung. Die kleine Korrektur von FCH hat's perfekt gemacht.
Gruß
Carsten
@ Russi, Hajo, Marc & Boris
13.01.2004 15:33:53
Carsten
Riesige Entschuldigung an alle.
Jetzt verstehe ich auch Eure Vorschläge. Leider benötige ich die letzte benutzte Spalte bezogen auf eine bestimmte Zeile sondern ich suche die letzte Spalte in der überhaupt etwas steht, egal in welcher Zeile.
Geht das ohne eine Schleife über 65536 Zeilen?
Gruß
Carsten
Anzeige
AW: @ Russi, Hajo, Marc & Boris
13.01.2004 15:36:39
Carsten
Hallo Leute,
nochmal sorry wegen der unpräzisen Problembeschreibung. Die Lösung ist jetzt allerdings da, siehe Antwort von FCH.
Danke an alle.
Gruß
Carsten
Lösung mit Find = sauschnell
13.01.2004 16:15:00
Boris
Hi Carsten,
zum Abschluss:

Sub test()
MsgBox "Letzte Spalte: " & Cells.Find("*", , , , xlByColumns, xlPrevious).Column
End Sub


Grüße Boris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Letzte gefüllte Spalte in Excel ermitteln


Schritt-für-Schritt-Anleitung

Um die letzte gefüllte Spalte in Excel zu ermitteln, kannst du die folgende VBA-Prozedur verwenden. Diese Makros sind nützlich, wenn du die letzte Spalte mit Inhalt ermitteln möchtest.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden VBA-Code ein:

    Sub letzteSpalteErmitteln()
       MsgBox "Letzte Spalte: " & Cells.Find("*", , , , xlByColumns, xlPrevious).Column
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die letzte gefüllte Spalte zu ermitteln.


Häufige Fehler und Lösungen

Fehler: Das Makro liefert eine Fehlermeldung.

Lösung: Stelle sicher, dass du den richtigen Code eingefügt hast und dass keine Tippfehler vorhanden sind. Kontrolliere auch, ob das Arbeitsblatt Daten enthält.

Fehler: Die letzte Spalte wird nicht korrekt angezeigt.

Lösung: Überprüfe, ob das Arbeitsblatt versteckte Spalten hat oder ob die Daten in unterschiedlichen Zeilen verteilt sind. Das Makro sucht nur nach der letzten Spalte mit Daten.


Alternative Methoden

Neben der VBA-Lösung kannst du auch eine Formel verwenden, um die letzte gefüllte Spalte zu ermitteln. Ein Beispiel für eine Array-Formel in Zeile 1:

=MAX((1:1<>"")*(SPALTE(1:1)))

Diese Formel gibt die Spaltennummer der letzten gefüllten Zelle in der ersten Zeile zurück.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die letzte Spalte in verschiedenen Szenarien ermitteln kannst.

  • Letzte Spalte in einer bestimmten Zeile:

    Sub letzteSpalteInZeile()
       Dim letzteSpalte As Long
       letzteSpalte = Cells(4, Columns.Count).End(xlToLeft).Column
       MsgBox "Letzte Spalte in Zeile 4: " & letzteSpalte
    End Sub
  • Letzte Spalte über das gesamte Arbeitsblatt:

    Sub letzteSpalteGesamt()
       Dim letzteSpalte As Long
       letzteSpalte = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
       MsgBox "Letzte Spalte im gesamten Blatt: " & letzteSpalte
    End Sub

Tipps für Profis

  • Verwende Evaluate, um komplexe Berechnungen zu optimieren:

    MsgBox Evaluate("MAX((1:1<>"")*COLUMN(1:1))")
  • Um die letzte gefüllte Zeile in einer Spalte zu ermitteln, kannst du folgenden Code verwenden:

    MsgBox Cells(Rows.Count, "A").End(xlUp).Row
  • Stelle sicher, dass du dein Makro in einer Testumgebung ausprobierst, bevor du es in produktiven Dokumenten anwendest.


FAQ: Häufige Fragen

1. Wie heißt die letzte Spalte in Excel?
Die letzte Spalte in Excel ist die Spalte XFD (Spalte 16384).

2. Kann ich die letzte gefüllte Spalte ohne VBA ermitteln?
Ja, du kannst dies mit einer Array-Formel oder mit Excel-Funktionen wie MAX und SPALTE tun.

3. Was ist der Unterschied zwischen der letzten gefüllten Spalte und der letzten benutzten Spalte?
Die letzte gefüllte Spalte bezieht sich auf die letzte Spalte, die Daten enthält, während die letzte benutzte Spalte die letzte Spalte ist, die in der gesamten Arbeitsmappe verwendet wird, auch wenn sich dort keine Daten befinden.

4. Funktioniert dieser Code in allen Excel-Versionen?
Ja, die meisten VBA-Funktionen sind in den gängigen Excel-Versionen kompatibel, allerdings kann es Unterschiede bei den Formeln geben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige