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

vorherige Zelle feststellen

Forumthread: vorherige Zelle feststellen

vorherige Zelle feststellen
15.11.2007 15:35:00
Paul
Hallo zusammen,
ich würde gerne wissen ob es eine Funktion gibt welche mir die Position der letzten aktiven Zelle angeben kann. Wenn ich also von A2 nach C5 klicke er mir dann sagen kann die letzte aktive Zellenposition war A2.
Danke schonmal für die Hilfe!
Gruß
Paul

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: vorherige Zelle feststellen
15.11.2007 15:42:06
Wolli
Hallo Paul, Excel kann das eigentlich nicht, aber mit einer Ereignisprozedur kannst Du das machen. Etwa so:
in einem Modul deklarierst Du

Global merker As String


im Code der Tabelle programmierst Du


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "Letzte Zelle war " & merker
merker = Target.Address
End Sub


Die jeweils vorherige Zelle wird Dir dann in einer MsgBox angezeigt.
Gruß, Wolli

Anzeige
AW: vorherige Zelle feststellen
15.11.2007 15:42:44
Andi
Hi,
funktioniert ab dem zweiten Zellenwechsel:
Dim c As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not c Is Nothing Then MsgBox ("Die letztes Zelle war " & c.Address(0, 0))
Set c = ActiveCell
End Sub


Wenn's ab dem ersten Zellenwechsel schon funtionieren soll, dann musst Du c in einem Standard-Modul als global deklarieren, und im Workbook-Open zuweisen.
Wenn das ganze Tabllenübergreifend gehen soll, dann verwende in DieseArbeitsmappe das Sheet-Selection-Change-Ereignis.
Schönen Gruß,
Andi

Anzeige
AW: vorherige Zelle feststellen
15.11.2007 16:01:00
Paul
Erstmal Danke Euch beiden.
Leider hilft mir das nicht richtig weiter. Ich wollte über ein Change-Ereignis Veränderungen in einem Tabellenblatt z.B. rot und fett hinterlegen. Nur wird dies Ereigenis ja leider erst nach der Veränderung getriggert. Nun würde es also davon abhängen ob ich nach der Änderung z.B. Enter, Tab oder eine der Pfeiltasten gedrückt habe, welche Zeile nun geändert worden ist um sie dann einzufärben.
Ich dachte es gibt evtl in VBA sowas wie eine Funktion LastAddress oder ähnliches.
Gruß
Paul

Anzeige
AW: vorherige Zelle feststellen
15.11.2007 16:04:54
Andi
Hi,
ich hab jetz Dein Problem nicht genau verstanden, aber hilft Dir vielleicht dies?

Private Sub Worksheet_Change(ByVal Target As Range)
Target.Interior.ColorIndex = 3
End Sub


Schönen Gruß,
Andi

AW: vorherige Zelle feststellen
15.11.2007 16:11:00
Paul
Hallo Andi,
danke genau das hab ich gesucht. Da brauch ich nichtmal was Gobal zu deklarieren. Target als Objekt kannte ich noch nicht :D
Gruß Paul

Anzeige
Gern geschehen... (ot)
15.11.2007 16:12:00
Andi
.
;
Anzeige

Infobox / Tutorial

Letzte aktive Zelle in Excel feststellen


Schritt-für-Schritt-Anleitung

Um die letzte aktive Zelle in Excel festzustellen, kannst Du eine VBA-Ereignisprozedur verwenden. Befolge diese Schritte:

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

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Deklariere eine globale Variable für die letzte Zelle. Füge folgenden Code in das Modul ein:

    Global merker As String
  4. Füge den folgenden Code in das Blattmodul ein, in dem Du die letzte aktive Zelle verfolgen möchtest:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       MsgBox "Letzte Zelle war " & merker
       merker = Target.Address
    End Sub
  5. Wechsle nun zwischen Zellen. Die letzte aktive Zelle wird Dir in einer MsgBox angezeigt.


Häufige Fehler und Lösungen

  • MsgBox zeigt nicht die richtige Zelle: Stelle sicher, dass Du den Code im richtigen Blattmodul eingefügt hast.
  • Ereignis wird nicht ausgelöst: Überprüfe, ob die Makros in Excel aktiviert sind. Gehe dazu auf Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen.
  • Globalvariable funktioniert nicht: Achte darauf, dass die Variable im richtigen Modul deklariert ist.

Alternative Methoden

Falls Du eine andere Methode verwenden möchtest, um die letzte aktive Zelle festzustellen, kannst Du die folgende Methode in Betracht ziehen:

Dim c As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not c Is Nothing Then MsgBox ("Die letzte Zelle war " & c.Address(0, 0))
    Set c = ActiveCell
End Sub

Diese Methode funktioniert ab dem zweiten Zellenwechsel. Wenn Du möchtest, dass sie sofort funktioniert, musst Du die Variable c als global deklarieren und ihr im Workbook_Open-Ereignis einen Wert zuweisen.


Praktische Beispiele

  1. Einfärben der letzten Zelle: Wenn Du die letzte Zelle hervorheben möchtest, kannst Du den folgenden Code verwenden:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Target.Interior.ColorIndex = 3 'Färbt die Zelle rot
    End Sub
  2. Verwendung in mehreren Blättern: Um die letzte aktive Zelle über mehrere Blätter hinweg zu verfolgen, solltest Du den Code im DieseArbeitsmappe-Modul verwenden, um das Sheet_Selection_Change-Ereignis zu nutzen.


Tipps für Profis

  • Verwende Debugging: Nutze Debug.Print im VBA, um Werte in das Direktfenster auszugeben, anstatt MsgBox zu verwenden, um den Workflow nicht zu unterbrechen.
  • Optimierung der Performance: Bei umfangreichen Datenmengen kann das ständige Anzeigen von MsgBoxen den Workflow stören. Überlege, ob Du die Anzeige auf bestimmte Bedingungen beschränken kannst.
  • Ereignisprozeduren kombinieren: Du kannst die SelectionChange- und Change-Ereignisse kombinieren, um sowohl die Auswahl als auch Änderungen an den Zellen zu berücksichtigen.

FAQ: Häufige Fragen

1. Frage
Kann ich die letzte aktive Zelle auch ohne VBA feststellen?
Antwort: Leider gibt es keine eingebaute Excel-Funktion, die dies direkt ermöglicht. VBA ist hier die einzige Lösung.

2. Frage
Wie kann ich die letzte aktive Zelle in einer bestimmten Tabelle verfolgen?
Antwort: Du musst den VBA-Code in das spezifische Tabellenblattmodul einfügen, um die letzte aktive Zelle nur für dieses Blatt zu verfolgen.

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