Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: letzte Spalte - nicht die Nummer,sondern Buchstabe

letzte Spalte - nicht die Nummer,sondern Buchstabe
09.02.2005 09:07:34
Edwin
Hallo,
mit folgendem Code
lgLetzteSpalte = .Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lgLetzteSpalte
komme ich ja zur letzten Spalte.
Ich sollte aber als Ergebnis nicht z.B. Spalte "7" sondern "G" erhalten.
Wie geht das?
Gruß
Edwin
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Spalte - nicht die Nummer,sondern Buchstabe
bst
Hallo Edwin,
versuch Mal sowas:
Dim LetzteSpalte As Range
Set LetzteSpalte = .Cells(1, Columns.Count).End(xlToLeft)
MsgBox Left(LetzteSpalte.Address(False, False), IIf(LetzteSpalte.Column &gt 26, 2, 1))
Gruß, Bernd
Danke
Edwin
Hallo Bernd,
super, vielen Dank.
Gruß
Edwin
AW: letzte Spalte - nicht die Nummer,sondern Buchstabe
Boris
Hi Edwin,
wozu brauchst du denn die Spaltenbezeichnung?
Grüße Boris
Anzeige
AW: letzte Spalte - nicht die Nummer,sondern Buchstabe
Edwin
Hallo Boris,
ich brauche den Spaltennamen für folgenden Befehl:
cboSparte.List = .Range("A6:" & LetzteSpalteNamen & LetzteZeile).Value 'Liste wird gefüllt
Gruß
Edwin
Hab ich mir gedacht...
Boris
Hi Edwin,
...und daher auch nachgefragt.
Dafür gibt es die Cells-Eigenschaft:
cboSparte.List = .Range(Cells(6,1), Cells(letzteZeile, letzteSpalte)).Value
Da brauchst du keine Spaltenbezeichnung.
Grüße Boris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Letzte Spalte in Excel ermitteln: So geht's


Schritt-für-Schritt-Anleitung

Um die letzte Spalte in Excel zu ermitteln und den Buchstaben anstelle der Spaltennummer zu erhalten, kannst du den folgenden VBA-Code verwenden:

Dim LetzteSpalte As Range
Set LetzteSpalte = .Cells(1, Columns.Count).End(xlToLeft)
MsgBox Left(LetzteSpalte.Address(False, False), IIf(LetzteSpalte.Column > 26, 2, 1))

Dieser Code sucht die letzte Spalte mit Inhalt und gibt den entsprechenden Buchstaben zurück, zum Beispiel "G" für die 7. Spalte.


Häufige Fehler und Lösungen

Fehler 1: Falsche Buchstabenausgabe

  • Ursache: Der Code zur Ermittlung des Buchstabens könnte nicht korrekt konfiguriert sein.
  • Lösung: Stelle sicher, dass du die IIf-Funktion richtig verwendest, um zwischen ein- und zweibuchstabigen Spalten zu unterscheiden.

Fehler 2: Keine Rückgabe

  • Ursache: Der Code wird möglicherweise nicht in einem gültigen Kontext ausgeführt.
  • Lösung: Stelle sicher, dass du den Code in einem geeigneten Modul oder als Teil eines Ereignisprozedur verwendest.

Alternative Methoden

Eine alternative Methode zur Ermittlung der letzten Spalte ist die Verwendung von Excel-Formeln. Wenn du die letzte Spalte in einer bestimmten Zeile ermitteln möchtest, kannst du die Formel =CHAR(64+MAX(IF(A1:Z1<>"",COLUMN(A1:Z1))) verwenden (hier für die Zeile 1).


Praktische Beispiele

Angenommen, du möchtest die letzte Spalte in einem bestimmten Datenbereich ermitteln und dann eine Liste in ein ComboBox-Element einfügen. Du kannst den folgenden Code verwenden:

Dim letzteSpalte As Long
Dim letzteZeile As Long
letzteSpalte = .Cells(1, Columns.Count).End(xlToLeft).Column
letzteZeile = .Cells(Rows.Count, 1).End(xlUp).Row
cboSparte.List = .Range(Cells(6, 1), Cells(letzteZeile, letzteSpalte)).Value

Tipps für Profis

  • Nutze die Cells-Eigenschaft, um flexibel auf Zellen zuzugreifen, ohne Spaltenbuchstaben verwenden zu müssen.
  • Wenn du oft mit VBA arbeitest, erstelle dir eine eigene Funktion, um die letzte Spalte mit Inhalt zu ermitteln. So sparst du Zeit bei der Programmierung.

FAQ: Häufige Fragen

1. Wie kann ich die letzte Spalte ermitteln, wenn mein Datenbereich variabel ist? Du kannst die letzte Spalte mit dem oben beschriebenen VBA-Code dynamisch ermitteln, egal wie viele Spalten in deinem Datenbereich vorhanden sind.

2. Gibt es eine Möglichkeit, die letzte Spalte ohne VBA zu ermitteln? Ja, du kannst die Excel-Funktion SVERWEIS oder INDEX in Kombination mit VERGLEICH verwenden, um die letzte gefüllte Spalte zu finden. Es ist jedoch weniger flexibel als VBA.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige