Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Letzten Spaltenbuchstaben ermitteln

Letzten Spaltenbuchstaben ermitteln
17.06.2016 20:13:43
Burghard
Hallo,
ich brauche für ein Makro Hilfe. Ich habe darin u.a. diese Zeile:
...
letztezeile = ActiveSheet.Cells(65536, 1).End(xlUp).Row
Damit ermittle ich die letzte mit einem Wert gefüllte Zelle in Spalte A, z.B. "13" (Zellrahmen bleiben bei der Auswertung unberücksichtigt).
...
Ich brauche jetzt nur den Buchstaben der letzten Spalte in einer Variablen, also
letztespalte = ?
Der Code "Range("A1").SpecialCells(xlCellTypeLastCell).Address" hilft mir nicht weiter, weil Zellrahmen bei der Auswertung mit berücksichtigt werden, es käme also z.B. "17" (statt "13") heraus.
Ich möchte im Makro die Variablen nachfolgend zusammensetzen/weiterverarbeiten, hier testweise Anzeige mittels MsgBox:
MsgBox "A" & letztezeile & ":" & letztespalte & letztezeile
Hilfe wäre nett.
Grüße
Burghard

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzten Spaltenbuchstaben ermitteln
17.06.2016 20:28:27
Nepumuk
Hallo,
ein Spaltenbuchstabe ist nicht notwendig.
Public Sub Test()
    Dim objCell As Range
    Dim lngLastUsedRow As Long
    Dim lngLastUsedColumn As Long
    With Tabelle1
        Set objCell = .Cells.Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
            SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)
        lngLastUsedColumn = objCell.Column
        Set objCell = .Cells.Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
        lngLastUsedRow = objCell.Row
        MsgBox .Range(.Cells(1, 1), .Cells(lngLastUsedRow, lngLastUsedColumn)).Address
    End With
End Sub

Gruß
Nepumuk

Anzeige
AW: Letzten Spaltenbuchstaben ermitteln
17.06.2016 23:52:06
Burghard
Hallo Nepumuk,
vielen Dank für Deine aufwändige Lösung! Das passt!
Grüße
Burghard

AW: Letzten Spaltenbuchstaben ermitteln
17.06.2016 20:28:28
Nepumuk
Hallo,
ein Spaltenbuchstabe ist nicht notwendig.
Public Sub Test()
    Dim objCell As Range
    Dim lngLastUsedRow As Long
    Dim lngLastUsedColumn As Long
    With Tabelle1
        Set objCell = .Cells.Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
            SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)
        lngLastUsedColumn = objCell.Column
        Set objCell = .Cells.Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
        lngLastUsedRow = objCell.Row
        MsgBox .Range(.Cells(1, 1), .Cells(lngLastUsedRow, lngLastUsedColumn)).Address
    End With
End Sub

Gruß
Nepumuk

Anzeige
AW: Letzten Spaltenbuchstaben ermitteln
17.06.2016 21:03:54
snb

Sub M_snb()
msgbox sheet1.cells(1).currentregion.rows.count
msgbox sheet1.cells(1).currentregion.columns.count
sn=sheet1.cells(1).currentregion
msgbox ubound(sn)
msgbox ubound(sn,2)
End Sub

AW: Letzten Spaltenbuchstaben ermitteln
17.06.2016 23:54:00
Burghard
Hallo snb,
vielen Dank für deine Lösung und die Mühe! Leider kommt meine alte Excel-Version (Excel 2000) nicht damit zurecht. Ich konnte aber Nepomuks Lösung nehmen. Nochmals danke!
Grüße
Burghard

Anzeige
AW: Letzten Spaltenbuchstaben ermitteln
18.06.2016 14:16:39
snb
Das hat nichts (!!) mit Excel 2000 zu tun. Das funktioniert auch in Excel 95.
Du muss evt. nur 'sheet1' anpassen (z.b. Tabelle1, oder sheets(1) )

setzt aber voraus,
18.06.2016 14:32:28
Michael
snb,
daß die Tabelle (so ca.) ab A1 gefüllt ist, sonst ist range("A1").currentregion eben auch nur A1
Schöne Grüße,
Michael

Anzeige
AW: Letzten Spaltenbuchstaben ermitteln
17.06.2016 21:50:32
Alen
Hallo Burghard,
mit die Variante bin ich an meisten zufrieden:
Dim DeineZeile As Integer
DeineZeile = 4 'hier deine  Zeilenummer eingeben in welcher du suchen möchtest
i=Cells(DeineZeile,Columns.Count).End(xlUp).column
SG
Alen

Anzeige
AW: Letzten Spaltenbuchstaben ermitteln
17.06.2016 23:55:06
Burghard
Hallo Alen,
vielen Dank für Deine Hilfe und den Lösungsansatz. :-)
Grüße
Burghard
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Letzten Spaltenbuchstaben ermitteln in Excel


Schritt-für-Schritt-Anleitung

Um den letzten Spaltenbuchstaben in Excel zu ermitteln, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist ein einfaches Beispiel, das zeigt, wie Du die letzte Spalte in Buchstaben ausgeben kannst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub LetzteSpalteErmitteln()
    Dim lngLastUsedColumn As Long
    Dim letztespalte As String

    ' Finde die letzte benutzte Spalte in der ersten Zeile
    lngLastUsedColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column

    ' Wandle die Spaltenzahl in einen Buchstaben um
    letztespalte = Split(Cells(1, lngLastUsedColumn).Address, "$")(1)

    ' Ausgabe des Ergebnisses
    MsgBox "Die letzte Spalte ist: " & letztespalte
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro über Entwicklertools > Makros aus und wähle LetzteSpalteErmitteln.

Häufige Fehler und Lösungen

Fehler: Das Makro gibt den falschen Buchstaben für die letzte Spalte aus.

Lösung: Stelle sicher, dass Du in der richtigen Zeile nach der letzten Spalte suchst. Der Code verwendet Cells(1, Columns.Count).End(xlToLeft), um die letzte benutzte Spalte in der ersten Zeile zu finden. Wenn Deine Daten in einer anderen Zeile beginnen, passe den Code entsprechend an.

Fehler: Fehlermeldung beim Ausführen des Makros.

Lösung: Überprüfe, ob Du die Makros in Excel aktiviert hast. Gehe dazu zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option für Makros.


Alternative Methoden

Es gibt auch andere Methoden, um den Spaltenbuchstaben in Excel zu ermitteln, ohne VBA zu verwenden. Eine einfache Möglichkeit ist die Nutzung der Formel =ADDRESS(1, SPALTE()). Diese Formel gibt die Adresse der Zelle zurück, und Du kannst den Buchstaben extrahieren, indem Du die Funktion =RECHTS(ADDRESS(1, SPALTE()), LEN(ADDRESS(1, SPALTE()))-FIND("$",ADDRESS(1, SPALTE()))) verwendest.


Praktische Beispiele

Hier sind einige Szenarien, in denen Du die letzte Spalte in Buchstaben ermitteln könntest:

  1. Datenanalyse: Du möchtest herausfinden, wie viele Spalten für Deine Daten verwendet werden, um Berichte zu erstellen.
  2. Dynamische Berichte: Wenn Du Makros erstellst, die sich auf verschiedene Tabellenblätter beziehen, kann es hilfreich sein, die letzte Spalte automatisch zu ermitteln, um die Flexibilität zu erhöhen.

Tipps für Profis

  • Nutze xlPrevious in Kombination mit Find, um die letzte benutzte Zelle in einer bestimmten Richtung zu finden, was besonders nützlich ist, wenn Du mit großen Datenmengen arbeitest.
  • Wenn Du regelmäßig mit VBA arbeitest, erwäge, Deine Makros in einem persönlichen Makroarbeitsbuch zu speichern, um sie in allen neuen Excel-Dokumenten verfügbar zu haben.

FAQ: Häufige Fragen

1. Wie kann ich den Buchstaben der aktuellen Spalte in Excel ausgeben?
Du kannst die Funktion =CHAR(COLUMN() + 64) verwenden, um den Buchstaben der aktuellen Spalte zu erhalten.

2. Was mache ich, wenn ich in einer älteren Excel-Version arbeite?
Die meisten VBA-Funktionen sind ab Excel 2000 verfügbar. Stelle sicher, dass die Tabellenblätter korrekt referenziert sind, wie z.B. Tabelle1 oder Sheets(1).

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