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

Forumthread: letzte Zeile in mehreren Spalten

letzte Zeile in mehreren Spalten
03.03.2019 10:25:57
Michael
Hallo,
ich möchte die letzten Zeilen in Spalten 10,11,12 und 13 ermitteln und die Werte formatieren.
Habe das so hinbekommen, macht was es soll, ist aber bestimmt nicht so optimal.
Mit Schleife und ...Rows.Count, 10 and 11 and 12..... leider erfolglos.
Hat einer Idee wie ich es besser machen kann ?
Sub letzte_zeile_3()
Dim letztezeile As Long
letztezeile = ActiveSheet.Cells(Rows.Count, 10).End(xlUp).Select
With Selection.font
.Name = "Calibri"
.Size = 18
End With
letztezeile = ActiveSheet.Cells(Rows.Count, 11).End(xlUp).Select
With Selection.font
.Name = "Calibri"
.Size = 18
End With
letztezeile = ActiveSheet.Cells(Rows.Count, 12).End(xlUp).Select
With Selection.font
.Name = "Calibri"
.Size = 18
End With
letztezeile = ActiveSheet.Cells(Rows.Count, 13).End(xlUp).Select
With Selection.font
.Name = "Calibri"
.Size = 18
End With
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ich sehe keine Schleife ... owt
03.03.2019 10:37:54
Matthias
AW: ich sehe keine Schleife ... owt
03.03.2019 10:42:52
Hajo_Zi

Option Explicit
Sub letzte_zeile_3()
Dim letztezeile As Long
Dim LoI As Long
For LoI = 10 To 13
With Cells(IIf(IsEmpty(Cells(Rows.Count, LoI)), _
Cells(Rows.Count, LoI).End(xlUp).Row, Rows.Count), LoI).Font
.Name = "Calibri"
.Size = 18
End With
Next LoI
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
ich habe Dich nichts gefragt, Hajo ...
03.03.2019 10:47:16
Matthias
owT
AW: ich sehe keine Schleife ... owt
03.03.2019 10:48:35
Michael
Perfekt, Danke für die saubere Lösung
Gruß
Michael
AW: ich sehe keine Schleife ... owt
03.03.2019 11:31:03
Michael
Noch mal kurz eine Frage denn ,dies bezieht sich nur auf Formatierung Font.
wenn ich die Zellen noch weiter mit z.B Tausender Trennzeichen und keine Nachkommastellen formatieren möchte, was muss angepasst werden ?
Ich habe ein Makro aufgezeichnet und versucht mit weitern With Funktion einzubinden :-(
Selection.Style = "Comma"
Selection.NumberFormat = "_(* #,##0.0_);_(* (#,##0.0);_(* ""-""?_);_(@_)"
Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""?_);_(@_)"
Anzeige
AW: ich sehe keine Schleife ... owt
03.03.2019 12:20:00
Michael
hat sich erledigt
.Select statt .font
;

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
Anzeige

Infobox / Tutorial

Letzte Zeile in mehreren Spalten ermitteln und formatieren


Schritt-für-Schritt-Anleitung

Um die letzten Zeilen in mehreren Spalten (z. B. Spalte 10 bis 13) zu ermitteln und deren Schriftart zu formatieren, kannst du das folgende VBA-Skript verwenden. Es ist effizienter als die ursprüngliche Methode, da es eine Schleife nutzt:

Option Explicit
Sub letzte_zeile_3()
    Dim letztezeile As Long
    Dim LoI As Long
    For LoI = 10 To 13
        With Cells(IIf(IsEmpty(Cells(Rows.Count, LoI)), _
        Cells(Rows.Count, LoI).End(xlUp).Row, Rows.Count), LoI).Font
            .Name = "Calibri"
            .Size = 18
        End With
    Next LoI
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen -> Modul).
  3. Kopiere den obigen VBA-Code in das Modul.
  4. Schließe den VBA-Editor und gehe zurück zu Excel.
  5. Führe das Makro aus, um die Formatierung auf die letzten Zeilen der Spalten 10 bis 13 anzuwenden.

Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht, weil das Arbeitsblatt nicht aktiv ist.

    • Lösung: Stelle sicher, dass das richtige Arbeitsblatt aktiv ist, bevor du das Makro ausführst.
  • Fehler: Die Schriftart wird nicht angewendet.

    • Lösung: Überprüfe den Code auf Tippfehler und stelle sicher, dass die Schleife korrekt durchlaufen wird.

Alternative Methoden

Eine alternative Methode zur Formatierung der letzten Zeilen besteht darin, die Formatierung direkt über die Excel-Oberfläche vorzunehmen, ohne VBA zu verwenden. Du kannst auch die bedingte Formatierung nutzen, um die letzten Zeilen hervorzuheben.


Praktische Beispiele

Hier ist ein Beispiel, wie du die Zellen in den letzten Zeilen von Spalte 10 bis 13 zusätzlich mit Tausendertrennzeichen formatieren kannst:

Option Explicit
Sub letzte_zeile_mit_formatierung()
    Dim LoI As Long
    For LoI = 10 To 13
        With Cells(Rows.Count, LoI).End(xlUp)
            .Font.Name = "Calibri"
            .Font.Size = 18
            .NumberFormat = "#,##0" ' Tausendertrennzeichen
        End With
    Next LoI
End Sub

Tipps für Profis

  • Nutze Option Explicit am Anfang deines Codes, um sicherzustellen, dass alle Variablen deklariert sind, was die Fehlersuche erleichtert.
  • Wenn du häufig mit Makros arbeitest, erstelle eine eigene Symbolleiste für den schnellen Zugriff auf deine häufig verwendeten Makros.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Formatierung für mehr als nur vier Spalten erweitern?
Antwort: Erweitere die Schleife, indem du den Bereich von For LoI = 10 To 13 auf die gewünschte Spaltenzahl änderst.

2. Frage
Kann ich das Makro so anpassen, dass es auf einem bestimmten Arbeitsblatt ausgeführt wird?
Antwort: Ja, du kannst das Arbeitsblatt im Code spezifizieren, zum Beispiel: Worksheets("DeinBlattname").Cells.

3. Frage
Wie kann ich die Schriftart für die gesamten Spalten ändern?
Antwort: Du kannst den Code anpassen, um die gesamte Spalte zu formatieren, indem du EntireColumn.Font verwendest.

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