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

beim Verlassen einer Zelle Makros ausführen

Forumthread: beim Verlassen einer Zelle Makros ausführen

beim Verlassen einer Zelle Makros ausführen
01.10.2002 08:40:00
Olbers, Friedrich
Hallo und Guten Morgen,
ich möchte beim Verlassen einer Zelle (oder beim aktivieren einer Zelle) ein Makro ausführen lassen. Kann mit jemand von Euch mit VBA helfen?
Danke im voraus.
Fritz Olbers :-)
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: beim Verlassen einer Zelle Makros ausführen
01.10.2002 08:54:32
Boris
Hallo Fritz,

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dein Makro
End Sub

Gruß Boris

Re: beim Verlassen einer Zelle Makros ausführen
01.10.2002 12:55:00
Hajo_Zi
Hallo Fritz

Boris seine Aktion wird beim auswählen ausgeführt und

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dein Makro
End Sub

Beim verlassen ´wenn der Zellinhalt geändert wurde

Gruß Hajo

Anzeige
Re: beim Verlassen einer Zelle Makros ausführen
01.10.2002 13:52:02
Fritz Olbers
Hallo Boris,
vielen Dank für Dein Interesse an meinem Problem.
Die von Dir aufgezeigte Lösung funktioniert bei "jeder"
Zellenbewegung; ich gehe daher davon aus, dass ich mich nicht
ganz klar, oder zumindest nicht ausreichend genug ausgedrückt
habe.
Hier mal ein kleines Beispiel:
Beim Verlassen der Zelle "B2" soll ein Makro aufgerufen werden,
aber halt nur bei Verlassen der Zelle "B2".
"Andersherum" (Sorry für den Ausdruck ;-)) wäre mir auch geholfen, also wenn z.B. die Zelle "C2" aktiviert wird, dann
soll das Makro ablaufen.
Nochmals Dank für Dein Interesse und Deine Geduld!
Fritz :-)
Anzeige
Re: beim Verlassen einer Zelle Makros ausführen
01.10.2002 14:03:44
Martin Beck
Hallo Fritz,

ganz so enfach wie es bisher geschildert wurde ist die Sache nicht. Sas Selction_Change-Ereignis wird ausgelöst, wenn die Zelle ausgewählt, nicht hingegen wenn sie verlassen wird. Daher muß man die Adresse der ausgewählten Zelle in eine Public-Variablen zwischenspeichern.

Klicke mit der rechten Maustaste auf den Reiter der Tabelle, wählen Code anzeigen und gib dann folgenden Code ein (für das Verlassen von Zelle B2):

DeinMakro mußt Du durch den Namen des Makros ersetzen, das ausgeführt werden soll.

Gruß
Martin Beck

Anzeige
Re: beim Verlassen einer Zelle Makros ausführen
01.10.2002 14:11:35
Fritz Olbers
Hallo Martin,
Suuuuper, genau das war's.
Vielen Dank.
Gruß Fritz :-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makros beim Verlassen einer Zelle in Excel ausführen


Schritt-für-Schritt-Anleitung

Um ein Makro auszuführen, wenn Du eine bestimmte Zelle in Excel verlässt, kannst Du den folgenden VBA-Code verwenden. Dieser wird in das entsprechende Tabellenblatt eingefügt:

  1. Öffne die Excel-Datei.

  2. Rechtsklicke auf den Reiter des Arbeitsblatts, in dem Du das Makro ausführen möchtest.

  3. Wähle „Code anzeigen“.

  4. Füge den folgenden Code ein:

    Dim lastCell As Range
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       Set lastCell = Target
    End Sub
    
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("B2")) Is Nothing Then
           ' Hier den Namen Deines Makros einfügen
           Call DeinMakro
       End If
    End Sub
  5. Ersetze DeinMakro durch den Namen des Makros, das Du ausführen möchtest.

Mit diesem Code wird das Makro nur ausgeführt, wenn Du die Zelle „B2“ verlässt.


Häufige Fehler und Lösungen

  • Makro wird nicht ausgeführt: Überprüfe, ob der Name des Makros korrekt ist und dass der Code in das richtige Arbeitsblatt eingefügt wurde.
  • Ereignis wird nicht registriert: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu „Datei“ > „Optionen“ > „Trust Center“ und aktiviere die Makros.
  • Zelle wird nicht erkannt: Überprüfe die Zellreferenz im Intersect-Befehl und stelle sicher, dass sie korrekt ist.

Alternative Methoden

Falls Du eine Alternative zur Verwendung von VBA suchst, kannst Du auch die bedingte Formatierung und Datenüberprüfung nutzen, um Benutzer zu benachrichtigen, anstatt ein Makro auszuführen. Diese Methoden sind jedoch weniger flexibel und bieten nicht die gleiche Automatisierung wie ein Makro.


Praktische Beispiele

  1. Makro bei Aktivierung einer anderen Zelle: Um ein Makro auszuführen, wenn Du die Zelle „C2“ aktivierst:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("C2")) Is Nothing Then
           Call DeinMakro
       End If
    End Sub
  2. Makro bei Änderung des Zellinhalts: Wenn Du auch möchtest, dass ein Makro ausgeführt wird, wenn der Inhalt von „B2“ geändert wird:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("B2")) Is Nothing Then
           Call DeinMakro
       End If
    End Sub

Tipps für Profis

  • Variablen außerhalb der Sub-Prozeduren: Wenn Du den Status der letzten Zelle speichern musst, kannst Du Public-Variablen verwenden, um den Wert auch außerhalb der Prozeduren zu speichern.
  • Debugging: Nutze Debug.Print im Code, um Werte in das Immediate-Fenster auszugeben. Dies hilft beim Troubleshooting.
  • Benutzerfreundlichkeit: Füge eine Fehlerbehandlung in Deinen VBA-Code ein, um die Benutzerfreundlichkeit zu verbessern und unerwartete Fehler zu vermeiden.

FAQ: Häufige Fragen

1. Frage
Wie kann ich das Makro für mehrere Zellen gleichzeitig ausführen?
Antwort: Du kannst mehrere Zellen in der Intersect-Funktion angeben, z.B. Me.Range("B2,C2,D2"), um das Makro für mehrere Zellen auszuführen.

2. Frage
Funktioniert dieser Code in allen Excel-Versionen?
Antwort: Ja, dieser VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, solange Makros aktiviert sind.

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