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

Wenn bestimmter Wert in Zelle, Makro starten

Forumthread: Wenn bestimmter Wert in Zelle, Makro starten

Wenn bestimmter Wert in Zelle, Makro starten
20.08.2002 13:00:21
Josef
Hallo!

Es werden in Tabelle1 in Zelle F1 jeweils verschiedene Familien und Vornamen eingetragen. Wenn jetzt z.B. über eine Textbox in einer UserForm der Name Franz Muster eingetragen wird,dann soll ein bestimmtes Makro gestartet werden.

Für eine eventuelle Hilfe wäre ich dankbar

Josef

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Wenn bestimmter Wert in Zelle, Makro starten
20.08.2002 13:29:17
BCM
Hi Josef,
da gibts mehrere Möglichkeiten, das Ding zu starten.
1.) Direkt aus der Userform beim Verlassen der Textbox.
Sub Textbox_OnExit
If Textbox.Value = "Gewünschter Name" Then .....
End Sub

2.) Oder über Worksheet_Change.
Sub Worksheet_Change(Target A Range)
If Target.Address = "$F$1" And Target.Value = "Gewünschter Name" Then ....

cu
BCM
End Sub

Anzeige
Anzeige

Infobox / Tutorial

Excel Makro ausführen, wenn bestimmter Wert in Zelle


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro auszuführen, wenn ein bestimmter Wert in einer Zelle eingegeben wird, kannst Du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke Alt + F11.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.
  3. Schreibe den Code für die UserForm:

    • Erstelle eine UserForm mit einer Textbox. Verwende den folgenden Code, um ein Makro auszuführen, wenn der Wert in der Textbox „Franz Muster“ entspricht:
    Private Sub Textbox_OnExit(ByVal Cancel As MSForms.ReturnBoolean)
       If Textbox.Value = "Franz Muster" Then
           Call DeinMakro
       End If
    End Sub
  4. Alternativ für Worksheet_Change:

    • Du kannst auch den folgenden Code in das entsprechende Arbeitsblatt einfügen, um ein Makro auszuführen, wenn der Wert in Zelle F1 geändert wird:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address = "$F$1" And Target.Value = "Franz Muster" Then
           Call DeinMakro
       End If
    End Sub
  5. Schließe den VBA-Editor und teste die Funktion.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Überprüfe, ob die Schreibweise des Namens in der Textbox genau mit dem in der Zelle übereinstimmt.
  • Fehler: Der Code läuft nicht, wenn ich die Zelle verlasse.

    • Lösung: Stelle sicher, dass die OnExit-Ereignisse korrekt konfiguriert sind und Du die Textbox tatsächlich verlässt.

Alternative Methoden

Eine andere Möglichkeit, ein Makro auszuführen, besteht darin, die Zelle mit einer Dropdown-Liste zu versehen. Dadurch kannst Du nur spezifische Werte auswählen, was die Wahrscheinlichkeit von Fehlern reduziert.

  1. Erstelle eine Dropdown-Liste in Zelle F1.
  2. Verwende den gleichen Worksheet_Change-Code, um das Makro auszulösen, wenn ein Wert aus der Dropdown-Liste gewählt wird.

Praktische Beispiele

Angenommen, Du möchtest ein Makro ausführen, das eine Nachricht anzeigt, wenn „Franz Muster“ in Zelle F1 steht. Dein Makro könnte so aussehen:

Sub DeinMakro()
    MsgBox "Hallo, Franz Muster!"
End Sub

Füge diesen Code in dein Modul ein und rufe ihn auf, wenn der Wert in der Zelle übereinstimmt.


Tipps für Profis

  • Verwende Option Explicit am Anfang Deines Moduls, um sicherzustellen, dass Du alle Variablen deklarierst. Dies hilft, Fehler zu vermeiden.

  • Teste Deine Makros immer in einer sicheren Umgebung, bevor Du sie in Echtprojekten anwendest, um unerwartete Ergebnisse zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich das Makro für mehrere Namen verwenden?
Du kannst die If-Bedingung mit mehreren ElseIf-Anweisungen erweitern, um verschiedene Namen zu überprüfen.

2. Was, wenn ich mehrere Zellen überwachen möchte?
Du kannst die Target.Address-Bedingung entsprechend anpassen, um mehrere Zellen zu berücksichtigen. Verwende eine Select Case-Anweisung, um verschiedene Zellen zu behandeln.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige