Wer kann mir erklären, wie ich mit der Funktion
Wenn-Dann ein Makro aufrufen kann?
Über wenn Makro starten
Du musst dazu einen Umweg anlegen.
Die WENN-Funktion lautet z.B.
=WENN(A1>10;MakroStart();"Nix")
Die Wenn-Bedingung kann kein Makro starten, aber eine Funktion ausführen. Diese Funktion kann wiederum ein Makro aufrufen.
Die Funktion ist so aufgebaut und ruft das abhängige Makro auf:
Function MakroStart()
Application.Volatile
MakroStart_Makro
End Function
Sub MakroStart_Makro()
MsgBox ("TuT")
End Sub
von Ramses (Rainer)
Gruß Georg
dies steht in einer Zelle
=WENN(A1>10;MakroStart();"Nix")
MakroStart iost die Funktion die das Makro aufruft.
folgendes steht in einem Modul
Function MakroStart()
' dies ist die Funktion die das Makro aufruft
' das Makro hat den Namen "MakroStart_Makro"
Application.Volatile
MakroStart_Makro
End Function
Sub MakroStart_Makro()
' dies ist Dein Makro
MsgBox ("TuT")
End Sub
Gruß Georg
ich konnte nicht glauben das Rainer was ins Forum stellt was nicht geht. Jetzt habe ich nach meiner Anleitung die Datei erstellt (unter XP, wie ja auch Deine Version ist) und ohne Fehler.
Schicke mir Deine Datei, falls möglich und ich sehe Sie mir an. Falls es keine geheime Daten sind.
Gruß Georg
klicke auf meinen Namen.
Die Datei natürlich als XLS. Mir hat jemand mal eine Datei als TXT geschicktt.
Gruß Georg
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Erstelle ein neues Modul:
Einfügen
> Modul
.Füge den folgenden Code ein:
Function MakroStart()
Application.Volatile
MakroStart_Makro
End Function
Sub MakroStart_Makro()
MsgBox ("TuT")
End Sub
Gehe zurück zu Excel und wähle eine Zelle aus.
Gib die Formel ein:
=WENN(A1>10;MakroStart();"Nix")
Teste die Formel, indem Du den Wert in Zelle A1 änderst. Wenn der Wert größer als 10 ist, wird das Makro aufgerufen.
MakroStart
nicht korrekt eingegeben wurde oder das Makro nicht im richtigen Modul gespeichert ist. Überprüfe, ob die Funktion im Modul vorhanden ist.Datei
> Optionen
> Sicherheitscenter
> Einstellungen für das Sicherheitscenter
und aktiviere die Makros.Du kannst auch die Funktion VBA Wenn Funktion
verwenden, um Bedingungen direkt im Code zu prüfen. Hier ist ein einfaches Beispiel:
Sub BeispielWenn()
If Range("A1").Value > 10 Then
MsgBox ("Wert ist größer als 10")
Else
MsgBox ("Wert ist 10 oder kleiner")
End If
End Sub
Diese Methode erfordert kein zusätzliches Makro, sondern kann direkt in einem Sub ausgeführt werden.
Beispiel 1: Wenn Du eine Bedingung hast, die abhängig von einem Verkaufswert eine Nachricht anzeigt:
Function VerkaufsCheck()
Application.Volatile
If Range("B1").Value > 1000 Then
MsgBox ("Verkauf erfolgreich!")
Else
MsgBox ("Verkauf unter dem Ziel.")
End If
End Function
Beispiel 2: Verwende die Excel Makro wenn dann
Funktion in einer Formel:
=WENN(B1<0; "Negativ"; "Positiv")
Application.Volatile
, um sicherzustellen, dass die Funktion jedes Mal neu berechnet wird, wenn sich die Eingabewerte ändern.Excel VBA Wenn Dann
Codes.1. Wie kann ich ein Makro in einer anderen Funktion aufrufen?
Du kannst eine Funktion erstellen, die das Makro aufruft, wie in den Beispielen gezeigt. Stelle sicher, dass die Funktion im selben Modul wie das Makro gespeichert ist.
2. Wo finde ich die Makros in Excel?
Du kannst Makros in Excel unter Entwicklertools
> Makros
finden oder indem Du den VBA-Editor öffnest (ALT + F11). Dort siehst Du alle Module und Funktionen.
3. Was muss ich tun, wenn mein Makro nicht funktioniert?
Überprüfe, ob die Makros in Deinen Excel-Einstellungen aktiviert sind und ob der Code korrekt eingegeben wurde. Stelle sicher, dass keine Syntaxfehler vorliegen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen