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

Forumthread: Makro ausführen beim Wechsel auf Tabellenblatt

Makro ausführen beim Wechsel auf Tabellenblatt
07.04.2005 14:23:46
Patrick
Hallo an alle,
ich würde gerne mit einem Tabellenblatt ein Makro verknüpfen. D.h. wenn jemand auf ein Tabellenblatt wechselt, dann soll das Makro ausgeführt werden.
Idialerweise sollte eine Abfrage stattfinden nach dem Motto: "Soll das Makro ausgeführt werden?"
Nehme natürlich auch gerne verweise auf das Archiv, bin da nur leider nicht fündig geworden.
Danke Euch!
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen beim Wechsel auf Tabellenblatt
07.04.2005 14:41:24
Frank
Hallo,
in "DieseArbeitsmappe" folgenden Code einfügen
Option Explicit

Private Sub Workbook_Activate()
Dim Result As Integer
If ActiveWorkbook.Name = "Mappe1" Then
Result = MsgBox("soll ich was machen ?", vbQuestion + vbOKCancel)
If Result = vbOK Then Call RunMe
End If
End Sub

dann ein Modul und folgenden Code einfügen:
Option Explicit
Public Sub RunMe()
MsgBox "Hi!"
End Sub
dann in dem Workbook ein zweites einfügen also "Mappe2" und nun zwischen "Mappe1" und
"Mappe2" wechseln!
Gruss
Frank
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro ausführen beim Wechsel auf Tabellenblatt


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro auszuführen, wenn du auf ein Tabellenblatt wechselst, folge diesen Schritten:

  1. Öffne den Visual Basic-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge den Code in "DieseArbeitsmappe" ein:

    • Suche im Projektfenster nach "DieseArbeitsmappe". Doppelklicke darauf und füge den folgenden Code ein:
    Private Sub Workbook_Activate()
       Dim Result As Integer
       If ActiveWorkbook.Name = "Mappe1" Then
           Result = MsgBox("Soll ich was machen?", vbQuestion + vbOKCancel)
           If Result = vbOK Then Call RunMe
       End If
    End Sub
  3. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeinDateiname)" und wähle "Einfügen" > "Modul".
    • Füge den folgenden Code in das Modul ein:
    Public Sub RunMe()
       MsgBox "Hi!"
    End Sub
  4. Wechsle zwischen den Tabellenblättern:

    • Erstelle ein zweites Tabellenblatt (z.B. "Mappe2") und wechsle zwischen "Mappe1" und "Mappe2", um das Makro zu testen.

Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgelöst:

    • Stelle sicher, dass der Code im richtigen Bereich ("DieseArbeitsmappe") eingefügt wurde. Der Code muss im Kontext des gesamten Arbeitsbuchs sein.
  • Fehler: Fehlermeldung beim Wechsel:

    • Überprüfe, ob der Name des Arbeitsbuchs ("Mappe1") korrekt geschrieben ist. Achte auf Groß- und Kleinschreibung.

Alternative Methoden

Eine andere Möglichkeit, ein Makro beim Wechsel auf ein Tabellenblatt auszuführen, ist die Verwendung des Worksheet_Activate-Ereignisses:

Private Sub Worksheet_Activate()
    MsgBox "Willkommen auf diesem Tabellenblatt!"
End Sub

Dieser Code sollte im spezifischen Arbeitsblatt-Modul eingefügt werden, um beim Aktivieren eines bestimmten Blattes eine Nachricht anzuzeigen.


Praktische Beispiele

  1. Bestätigungsdialog bei jedem Wechsel:

    • Verwende den oben genannten Code in "DieseArbeitsmappe", um einen Bestätigungsdialog zu erstellen, der fragt, ob das Makro ausgeführt werden soll.
  2. Automatisiertes Ausfüllen:

    • Du kannst das Makro so modifizieren, dass es bestimmte Zellen automatisch ausfüllt, wenn du auf ein bestimmtes Blatt wechselst:
    If Result = vbOK Then
       Worksheets("Mappe1").Range("A1").Value = "Automatisch ausgefüllt!"
    End If

Tipps für Profis

  • Verwende globale Variablen: Wenn du regelmäßig auf bestimmte Werte zugreifen musst, definiere globale Variablen in einem Modul, um die Effizienz zu steigern.

  • Optimiere den Benutzerfluss: Integriere logische Abfragen, die spezifische Aktionen basierend auf den Benutzerantworten ausführen.


FAQ: Häufige Fragen

1. Wie kann ich das Makro für andere Tabellenblätter anpassen? Du kannst den Code einfach kopieren und in das entsprechende Tabellenblattmodul einfügen. Ändere die Bedingungen im Code entsprechend.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, dieser VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2016 und neuer.

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