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

Forumthread: letzte Zeile markieren

letzte Zeile markieren
27.12.2007 11:25:00
Katja
Hallo Leute,
kann mir bitte jemand den VBA - Code nennen, welcher mir die letzte beschriebene Zeile bzw. Zelle in meinem Arbeitsblatt markiert.
Vielen Dank im Voraus.
Katja

Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Zeile markieren
27.12.2007 11:28:00
Hajo_Zi
Hallo Katja,
auf select kann in VBA zu 99,9% verzichtet werden.
MsgBox Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row

AW: letzte Zeile markieren
27.12.2007 11:32:22
Katja
Hallo Hajo,
vielen Dank für deine schnelle Antwort. In diesem Fall gibt er mir den Wert der letzten beschriebenen Zeile.
Ich hätte es nur gerne so, dass der Cursor in die letzte Zeile springt. (Die Spalte ist dabei egal.)
Wäre echt super nett, wenn du mir diesen auch noch nennen könntest.
Vielen Dank.

Anzeige
AW: letzte Zeile markieren
27.12.2007 11:46:00
Hajo_Zi
Hallo Katja,
warum select?
Cells(Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row,1)="spalteA"
Gruß Hajo

AW: letzte Zeile markieren
27.12.2007 11:51:41
Katja
Hallo Hajo,
weil in dieser langen Liste nach dem öffnen immer ein neuer Wert mit dem letzten Eintrag verglichen werden soll.
In diesem Fall schreibt er mir jetzt in die letzte Zeile "Spalte A". Dabei wäre mir sehr geholfen, wenn der Cursor einfach nur in die letzte Zeile springt und nicht den Inhalt verändert.
Könntest du mir noch einmal helfen?
Katja

Anzeige
AW: letzte Zeile markieren
27.12.2007 12:59:11
Hajo_Zi
Hallo Katja,
If Cells(Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row,1)="neuer Wert" Then
Gruß Hajo

AW: letzte Zeile markieren
27.12.2007 13:25:00
Katja
Hallo Hajo,
vielen Dank für deine Mühe. Aber dieser Code scheint leider gar nicht zu funktionieren.
Hast du rein zufällig noch eine Lösung? Weil, wie gesagt, der Cursor soll eigentlich nur in die letzte Zeile hineinspringen. Damit wäre mir vollkommen geholfen.
Wenn nicht möglich, ist ja auch nicht so schlimm.
Katja.

Anzeige
AW: letzte Zeile markieren
27.12.2007 13:31:00
Original
Hi,
Cells.Find(What:="*", After:=[a1], LookIn:=xlFormulas, LookAt:=xlWhole).Activate
mfg Kurt

AW: letzte Zeile markieren
27.12.2007 13:41:20
Katja
Hallo Kurt,
das funktioniert fast. Nur in diesem Fall springt er in die Zelle "B2". Weil du ja geschrieben hattest "After:=[a1]". Wenn mir der Cursor jetzt an das Tabellenende (in die letzte Zeile) springen würde, wäre das Problem gelöst.
Vielen, vielen Dank im Voraus.
Katja

Anzeige
AW: letzte Zeile markieren
27.12.2007 13:49:52
Original
Hi,
nun kenne ich ja nicht den Aufbau deiner Tabelle, da sind vermutlich Leezellen enthalten.
After:=cells(Rows.Count,Columns.Count)
mfg Kurt

AW: letzte Zeile markieren
27.12.2007 13:57:00
Katja
Hallo,
ich habe mal eine Beispieldatei hochgeladen. Bei diesem Beispiel sollte er nun in die Zeile 35 springen, da diese Zeile die letzte beschriebene ist. Andere folgende Codes habe ich schon fertig.
https://www.herber.de/bbs/user/48650.xls
Vielleicht hast du ja noch eine Idee
MfG
Katja

Anzeige
AW: letzte Zeile markieren
27.12.2007 14:07:00
Selma
Hallo Katja,
vielleicht so:


Sub Markieren()
Dim Letzte_In_A As Long
Letzte_In_A = Range("A65536").End(xlUp).Row
Rows(Letzte_In_A).Select
End Sub


LG
Selma

Anzeige
AW: letzte Zeile markieren
27.12.2007 14:32:00
Katja
Hallo Selma, hallo Kurt, hallo Hajo,
jetzt klappt es.
Vielen Dank an euch alle!
Katja

AW: letzte Zeile markieren
27.12.2007 14:09:03
Original
Hi,
welche Spalte soll denn selektiert werden?
mfg Kurt

AW: letzte Zeile markieren
27.12.2007 14:33:14
Katja
Hallo Selma, hallo Kurt, hallo Hajo,
jetzt klappt es.
Vielen Dank an euch alle!
Katja

Anzeige
AW: letzte Zeile markieren
27.12.2007 14:16:00
Original
Hi,
vielleicht wirst du damit glücklich:
Cells.Find(What:="*", After:=[a1], SearchDirection:=xlPrevious, LookIn:=xlFormulas, LookAt:=xlWhole).EntireRow.Offset(1, 0).Select
mfg Kurt
;

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

Letzte Zeile in Excel markieren


Schritt-für-Schritt-Anleitung

Um die letzte beschriebene Zeile in einem Excel-Arbeitsblatt zu ermitteln und zu markieren, kannst du den folgenden VBA-Code verwenden. Dieser Code springt direkt in die letzte Zeile und markiert sie:

Sub MarkiereLetzteZeile()
    Dim LetzteZeile As Long
    LetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row ' Ermittelt die letzte beschriebene Zeile in Spalte A
    Rows(LetzteZeile).Select ' Wählt die letzte Zeile aus
End Sub

So fügst du den Code in dein Excel-Dokument ein:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Menü Einfügen > Modul.
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und kehre zu Excel zurück.
  5. Drücke ALT + F8, wähle MarkiereLetzteZeile und klicke auf Ausführen.

Häufige Fehler und Lösungen

Problem: Der Code springt nicht zur richtigen Zeile.

Lösung: Stelle sicher, dass du die richtige Spalte angibst. Der Code basiert auf der Spalte A. Wenn du eine andere Spalte verwenden möchtest, passe die Zahl in Cells(Rows.Count, 1) an (1 = A, 2 = B, usw.).

Problem: Die letzte Zeile wird nicht korrekt ermittelt.

Lösung: Überprüfe, ob leere Zellen in der Spalte vorhanden sind. Diese können die Funktion End(xlUp) beeinflussen.


Alternative Methoden

  1. Mit der Find-Methode: Verwende die Find-Methode, um die letzte beschriebene Zelle zu finden und die gesamte Zeile zu aktivieren:

    Sub SpringeZuLetzterZelle()
       Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious, LookIn:=xlFormulas).EntireRow.Select
    End Sub
  2. Excel-Funktionen: Du kannst auch Excel-Funktionen wie =MAX() in Kombination mit ROW() verwenden, um die letzte Zeile zu ermitteln, aber dies ist weniger dynamisch als die VBA-Methoden.


Praktische Beispiele

Angenommen, du hast eine Tabelle mit Verkaufsdaten in Spalte A, und du möchtest die letzte Zeile dieser Daten markieren. Nutze den oben genannten VBA-Code und führe ihn aus, um direkt zu der letzten beschreibenen Zeile zu springen.

Wenn du an das Tabellenende springen und alle Zeilen bis zur letzten Zeile markieren möchtest, kannst du den folgenden Code verwenden:

Sub MarkiereBisZurLetztenZeile()
    Dim LetzteZeile As Long
    LetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
    Range("A1:A" & LetzteZeile).Select ' Markiert alle Zeilen bis zur letzten
End Sub

Tipps für Profis

  • Automatisierung: Nutze die oben genannten Makros, um wiederkehrende Aufgaben zu automatisieren. Du kannst die Makros in die Arbeitsmappe einfügen und ihnen Tastenkombinationen zuweisen.
  • Debugging: Wenn ein Makro nicht funktioniert, setze Haltepunkte im Code und führe es Schritt für Schritt aus, um den Fehler zu finden.
  • Verwendung von Variablen: Vermeide die Verwendung von Select und Activate, wo immer es möglich ist, um die Leistung deiner Makros zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die letzte beschriebene Zeile in einer anderen Spalte ermitteln? Du musst einfach die Spaltennummer in der Zeile LetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row anpassen (z.B. 2 für Spalte B).

2. Was passiert, wenn ich leere Zellen in meiner Liste habe? Leere Zellen können den Code beeinflussen. Verwende End(xlUp), um den letzten Wert zu finden. Wenn die leeren Zellen in der Mitte der Daten sind, wird die letzte beschriebene Zeile nicht korrekt ermittelt.

3. Kann ich diese Makros auch in Excel Online verwenden? Die VBA-Methoden sind nur in der Desktop-Version von Excel verfügbar. Excel Online unterstützt keine VBA-Makros.

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