Clever-Excel-Forum

Normale Version: Makro starten durch WENN Formel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo.

Ich bin ein wenig am rumprobieren mit Kontrolkästchen und Optionsfeldern.

Jetzt habe ich Versucht, dadurch ein Makro auszuführen.(ohne VBA Kenntnisse)
Das direkte Verbinden von Feld und Makro is ja klar. 

Habe dann etwas gesucht im Netz und stieß ich zb auf:

=WENN(F5=“WAHR“;Makro1_start();“nichts“)       um auf des Ergebniss der Eingaben zu reagieren.

Aber irgendwie geht das nicht. Mache ich da was falsch?
Hallo,

grundsätzlich unterscheidet man erstmal zwischen Formularsteuerelementen und ActiveX-Elementen.

Bei Ersterem machst Du einfach einen Rechtsklick auf die CheckBox unf klickst auf Makro zuweisen. Das wird dann bei jedem Klick ausgeführt.

Bei einem ActiveX-Steruerelement machst Du im Design Mode einen Doppelklick auf das entsprechende Element und kommst in den Editor. Hier kannst Du auf das entsprechende Event reagieren.
Wie ich einem Steuerelement ein Makro zuweise ist mir klar. Schrieb ich ja auch schon.

Meine Frage hat auch nur Bedingt was mit den Steuerelementen zu tun.

Ich möchte zb wenn in Zelle I5 eine 5 erscheint das aufgenommene Makroxy ausgeführt wird.
Und das ohne in VBA was programieren zu müssen.
Wieso funktioniert der:
Code:
Public Function Startmakro() As String
Call Anzeige
Startmakro = "Gestartet."
End Function
Sub Anzeige()
  MsgBox "Makro wurde gestartet"
 
End Sub

und der nicht?
Code:
Public Function Startmakro() As String
Call Anzeige
Startmakro = "Gestartet."
End Function
Sub Anzeige()

  Range("C7").Select
   ActiveCell.FormulaR1C1 = "1"
   Range("D7").Select
   ActiveCell.FormulaR1C1 = "2"
   Range("E7").Select
   ActiveCell.FormulaR1C1 = "3"
   Range("F7").Select
   ActiveCell.FormulaR1C1 = "4"
   Range("F8").Select
 
End Sub
Läuft das Makro zwar ab, aber kann keine Eintragungen machen??  Wenn ich das Makro per Hand starte macht er die Einträge.
Hallo M,

siehe Einschränkungen von Aktionen in benutzerdefinierten Funktionen

http://www.xlam.de/xlimits/customfunctions.htm
Vielleicht ein Excel/VBA-Grundlagenbuch lesen ?
Sehr schade, wäre ja auch zu schön gewesen. 

Kann mir dann evtl wer sagen, wie ich in VBA selber eine Zelle auf einen bestimmten Inhalt abfrage und dann dadurch das Makro auslöse?
Also auch unter dem Schema   wenn Zelle diesen Inhalt hat mach das, sonst warte
Hallo M.

natürlich kannst du in einem Makro eine Aktion unter der Bedingung eines bestimmten Zelleintrages durchführen.

Du must nur entscheiden, wann das Makro ausgeführt werden soll.

Entweder explicit (im Normalfall durch einen Button) oder
ereignisgesteuert (zb. bei einer manuellen oder berechneten Änderung einer Zelle).
Ich habe heute beim googlen schon was gesehn, aber finde das nicht mehr.

Kann man in VBA die Formeln ähnlich den normalen machen??

Wenn ja, wie muss ich das eingeben das er zb Zelle F5 überwacht und bei übereinstimmung das Makro xy ausführt?
Hallo

das gehört in das Tabellenblatt
und reagiert auf manuelle Eintragung in Zelle F5

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("F5")) Then
       If Range("F5").Value = "irgendwas" Then
           Call DeinMakkro_XY
       End If
   End If
End Sub
sollte sich der Wert in F5 durch eine Formel ändern wäre eventuell das Worksheet_Calculate-Ereignis das richtige
aber dazu lässt du dich ja nicht aus
MfG Tom
Seiten: 1 2 3