Herbers Excel-Forum - das Archiv
Makro starten.....immer noch
Betrifft: Makro starten.....immer noch
von: Peter S.
Geschrieben am: 20.11.2003 15:09:17
Hallo Ihr,
ich weiss ich nerv heute aber ich komm net auf die Lösung..
wie kann ich folgende prozedur in Gang bringen:
Private Sub Worksheet_Calculate()
If Range("B5").Text = "Systemdatum manipuliert - Funktionen gesperrt" Then
Call Eintragen
End if
End Sub
Eintragen = Makro das gestartet werden soll
kann ich das mit ner wenn-funktion anlassen?...wenn nein bitte alternative vorschläge
danke Peter
Betrifft: AW: Makro starten.....immer noch
von: Nayus
Geschrieben am: 20.11.2003 15:18:11
Hallo,
Du hast in der Hand, wann gestartet wird.
Wie Dir bereits als Denkanstoss mitgeteilt wurde, wird "Worksheet_Calculate"
ausgeführt wenn im Blatt neu berechnet wird, sich also Zellinhalte verändern
oder Du F9 drückst.
Willst Du ein anderes Eieignis, dann kopiere den Aufruf in die entsprechende Ereignisprozedur.
Ein Makro auszuführen, wenn irgend ein Inhalt in einer Zelle steht ohne dass
hinterher der Inhalt der Zelle geändert wird ist nicht adäquat, da dann das
Makro endlos ausgeführt wird.
Gruß,
Nayus
Betrifft: AW: Makro starten.....immer noch
von: ChrisL
Geschrieben am: 20.11.2003 15:19:34
Hi Peter
Mit einer Tabellenfunktion kannst du kein Makro starten. Hier die Alternative:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$B$5" And Target = "Systemdatum manipuliert - Funktionen gesperrt" Then Call Eintragen
End Sub
Falls es nicht funktioniert, erklär mal wie der Text in B5 gelangt.
Gruss
Chris
Betrifft: AW: Makro starten.....immer noch
von: Peter S.
Geschrieben am: 20.11.2003 16:10:21
Hallo Ihr Beiden,
der entscheidende Gedanke ist geflossen.....dank Eurer Mithilfe
Ich habe folgende Änderungen eingegeben, die zum Erfolg führten:
Aus
Sub Eintragen()
Range("B1").Value = "Hallo"
End Sub
habe ich folgendes gemacht:
Function Eintragen()
Range("B1").Value = "Hallo"
End Function
und zusätzlich habe ich in irgendeine Zelle in Tabelle1 folgende Formel eingetragen
wenn(a5=b5;Eintragen();"")
und schon läuft alles wie geschmiert
Danke Euch.....es hat geklickt
Gruß Peter