Registriert seit: 06.03.2017
	
Version(en): 2007
	
 
	
	
		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?
	
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 04.04.2017
	
Version(en): 2013
	
 
	
	
		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.
	
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 06.03.2017
	
Version(en): 2007
	
 
	
	
		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.
	
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 06.03.2017
	
Version(en): 2007
	
 
	
		
		
		26.04.2017, 13:19 
(Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2017, 13:19 von M.Wichmann.)
		
	 
	
		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.
	
 
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 21.06.2016
	
Version(en): 2021
	
 
	
	
		Hallo M,
siehe 
Einschränkungen von Aktionen in benutzerdefinierten Funktionenhttp://www.xlam.de/xlimits/customfunctions.htm
	 
	
	
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht. 
	
	
 
 
	
	
	
		
	Registriert seit: 29.09.2015
	
Version(en): 2030,5
	
 
	
	
		Vielleicht ein Excel/VBA-Grundlagenbuch lesen ?
	
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 06.03.2017
	
Version(en): 2007
	
 
	
	
		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
	
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 21.06.2016
	
Version(en): 2021
	
 
	
	
		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).
	
	
	
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht. 
	
	
 
 
	
	
	
		
	Registriert seit: 06.03.2017
	
Version(en): 2007
	
 
	
	
		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?
	
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 12.04.2014
	
Version(en): Office 365
	
 
	
	
		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