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 nach Eingabe in einer Zelle

Makro ausführen nach Eingabe in einer Zelle
15.12.2006 10:02:12
Corinne
Hallo zusammen
Nach einer Eingabge in einer bestimmten Zelle, z.B. B13, soll ein Makro ausgeführt werden. Ist das möglich?
Vielen Dank für eure Hilfe
corinne
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen nach Eingabe in einer Zelle
15.12.2006 10:07:37
Rudi
Hallo,
so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$13" Then
MsgBox "B13 geändert"
End If
End Sub
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: Makro ausführen nach Eingabe in einer Zelle
15.12.2006 10:09:11
Oberschlumpf
Hi Corinne
1. Öffne den VBA-Editor mit Alt-F11
2. Klick links im Projek-Explorer doppelt auf DAS Tab-Blatt, für das dein Makto gelten soll.
3. Wähle oberhalb des rechten, großen Code-Fensters aus dem Kombifeld, in dem jetzt "Allgemein" steht, "Worksheet" aus.
4. Wähle aus dem Kombifeld rechts daneben "Change" aus. Der Textcursor sollte jetzt zwischen diesen 2 Zeilen blinken:

Private Sub Worksheet_Change(ByVal Target As Range)
End Sub

5. Und dazwischen schreibst du diesen Code:

If Target.Address = "$B$13" Then
MsgBox "Der Wert in Zelle B13 wurde geändert."
End If

Konnte ich helfen?
Ciao
Thorsten
Anzeige
;

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

Makro automatisch ausführen nach Eingabe in einer Zelle


Schritt-für-Schritt-Anleitung

Um ein Excel VBA Makro automatisch auszuführen, wenn Du einen Wert in eine bestimmte Zelle eingibst, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke Alt + F11.

  2. Wähle das richtige Arbeitsblatt aus: Doppelklicke im Projekt-Explorer auf das Tab-Blatt, für das Du das Makro gelten lassen möchtest.

  3. Wähle das Ereignis aus: Setze im Kombifeld oben rechts auf „Worksheet“ und wähle dann „Change“ aus.

  4. Füge den Code ein: Der Textcursor sollte nun zwischen den Zeilen Private Sub Worksheet_Change(ByVal Target As Range) und End Sub blinken. Füge hier den folgenden Code ein:

    If Target.Address = "$B$13" Then
       MsgBox "Der Wert in Zelle B13 wurde geändert."
    End If
  5. Speichere Deine Änderungen: Schließe den VBA-Editor und teste die Eingabe in Zelle B13.

Jetzt wird das Makro ausgeführt, wenn Du einen Wert in die Zelle B13 eingibst.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass Du den Code im richtigen Arbeitsblatt eingegeben hast.
  • Fehler: Die Meldung erscheint nicht.

    • Lösung: Überprüfe, ob die korrekte Zelle (z.B. B13) angesprochen wird. Achte darauf, dass Du die korrekte Adresse verwendest.

Alternative Methoden

Falls Du ein Excel Makro in einer Zelle ausführen möchtest, kannst Du auch andere Ereignisse nutzen, wie z.B. Worksheet_SelectionChange. Hier ein Beispiel für diese Methode:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$B$13" Then
        MsgBox "Du hast die Zelle B13 ausgewählt."
    End If
End Sub

Diese Methode reagiert, wenn Du die Zelle auswählst, anstatt einen Wert einzugeben.


Praktische Beispiele

  1. Datenvalidierung: Du kannst ein Makro ausführen, wenn ein bestimmter Wert eingegeben wird. Zum Beispiel:

    If Target.Address = "$B$13" And Target.Value = "Aktiv" Then
       MsgBox "Status auf Aktiv gesetzt."
    End If
  2. Kopieren von Werten: Wenn Du einen Wert in B13 eingibst, kannst Du automatisch einen Wert in einer anderen Zelle setzen:

    If Target.Address = "$B$13" Then
       Range("C13").Value = "Wert gesetzt"
    End If

Tipps für Profis

  • Verwende Application.EnableEvents = False: Wenn Du mehrere Makros hintereinander ausführen möchtest, kann es hilfreich sein, die Ereignisse vorübergehend zu deaktivieren, um unerwünschte Schleifen zu vermeiden.

    Application.EnableEvents = False
    ' Dein Code hier
    Application.EnableEvents = True
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass Dein Makro nicht unerwartet stoppt:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich ein Excel VBA Makro automatisch ausführen bei Eingabe in mehreren Zellen?
Du kannst die If-Bedingung erweitern, um mehrere Zellen zu überprüfen. Zum Beispiel:

If Target.Address = "$B$13" Or Target.Address = "$C$13" Then
    MsgBox "Eine der Zellen wurde geändert."
End If

2. Was kann ich tun, wenn ich ein Makro immer wieder ausführen möchte?
Du kannst ein globales Ereignis in der „ThisWorkbook“-Klasse erstellen, um das Makro in mehreren Blättern oder für verschiedene Zellen zu verwenden.

3. Kann ich das Makro auch als Schaltfläche ausführen?
Ja, Du kannst eine Schaltfläche in Excel einfügen und diese dann mit Deinem Makro verknüpfen, um es manuell auszuführen.

Mit diesen Informationen bist Du gut ausgestattet, um ein Excel Makro automatisch auszuführen, wenn Du einen Wert in eine Zelle eingibst.

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