Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Macro Ereignissgesteuert

Macro Ereignissgesteuert
22.10.2008 11:02:00
Rainer
Hallo Leute,
hier eine Frage: Ich habe externe Daten von einem OPC -Server in einer Zelle wie folgt:
=TcpIpH1|WS!m9.1
Dann steht da je nach Zustand entweder WAHR oder FALSCH in der Zelle. Wie kann ich wenn der Zustand von FALSCH auf WAHR wechselt ein Makro starten, also ereignisgesteuert starten?
Bitte keinen Timer der auf das Ereignis pollt, habe ich schon, klappt nicht zuverlässig und schnell genug.
Grüße, Rainer.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro Ereignissgesteuert
22.10.2008 11:26:00
Beverly
Hi Rainer,
verwende das Worksheet_Calculate Ereignis.


AW: Macro Ereignissgesteuert
22.10.2008 11:26:57
Ramses
Hallo
In einem Modul diese Variable anlegen
Public CellState as Boolean
Beim workbook_Open Ereignis die Variable mal füllen

Private Sub workbook_Open()
CellSTate = Tabelle!Zelle
End Sub


Nimm das Worksheet_Calculate Ereignis und frag die Zelle ab ob sich dort was geändert hat.


Private Sub Worksheet_Calculate()
If Cellstate  Tabelle!Zelle Then
... was du willst.
End If
End If
oder ohne Variable


Private Sub Worksheet_Calculate()
If Tabelle!Zelle = False/True Then
... was du willst.
End If
End If
Gruss Rainer

Anzeige
AW: Macro Ereignissgesteuert
22.10.2008 12:15:15
Rainer
Genial, das geht ja tatsächlich.
Danke Ramses
Mache ne positive Flanke auf mein Ereigniss und starte die Routine:
If (CellState = True And CellState_alt = False) Then
MeineAnwendung
End If
CellState_alt = CellState
Um jedoch an den aktuellen Inhalt der Zelle zu kommen muss ich so was machen:
sheets("Batch_Daten").Select
CellState = Range("E17").Value
mit dem direkten Zugriff schaff ich das nicht, kannst Du mir kurz mal die korrekte Syntax für
den Tabelle!Zelle Zugriff verraten?
Danke schon mal..
Grüße, Rainer.
AW: Macro Ereignissgesteuert
22.10.2008 13:12:43
Ramses
Hallo
"...CellState = True And CellState_alt = False..."
Das ist doch Quatsch. Wie kann ein Zustand WAHR und gleichzeitig FALSCH sein.
Du arbeitest hier mit EXCEL und bewegst dich nicht in der Quantenphysik
Ich weiss nicht was du prüfen willst, denn es könnte auch nur mit der Prüfung alleine gehen ohne
den Umweg über die Variable
Der Zugriff geht auch ohne Select
CellState = Worksheets("DeineTabelle").Range("E17").Value
Gruss Rainer
Anzeige
Wer lesen kann...
22.10.2008 13:14:00
Ramses
Hallo
... ist klar im Vorteil.
Sorry.
If (CellState = True And CellState_alt = False) Then
Ohne die Klammern
Gruss Rainer
AW: If Boolean = True ...
22.10.2008 13:29:00
Erich
Hi zusammen,
kann man davon ausgehen, dass CellState und CellState_alt vom Typ Boolean sind?
Dann reicht doch
If CellState And not CellState_alt Then
So etwas sieht man seeeehr oft: If CellState = True then ...
Wenn CellState = True ist steht da: If True = True then ...,
wenn CellState = False ist steht da: If False = True then ....
Da kann man doch besser If CellState then ... schreiben.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: If Boolean = True ...
22.10.2008 14:32:57
Rainer
Danke erstmal für die Anteilnahme:
ich bin nur SPS-Programmierer. Deshalb die etwas ausführlichere Anweisung:
If (CellState = True And CellState_alt = False) Then ......
CellState vom Typ Bool ist der aktuelle Zustand der Zelle beim Aufruf
von Worksheet_Calculate();
CellState_alt vom Typ Bool speichert den Zustand vom letzten Aufruf
von Worksheet_Calculate();
Ich darf in diesem Fall nur EINMAL die Routine aufrufen, egal wie lange CellState auf TRUE ist,
oder egal wer sonnst noch Worksheet_Calculate() aufruft.
Also nur dann wenn Cellstate von FALSE nach TRUE wechselt.
Grüße und nochmal danke,
Rainer.
Anzeige
AW: If Boolean = True ...
22.10.2008 18:00:00
Ramses
Hallo Erich
Ich weiss du bist ein begnadeter Programmierer und lese deine ständigen Kommentare auf meine Beiträge.
Aber ich programmiere hier nun mal Beispiele, bzw. mach Vorschläge, für Anfänger und nicht Profis !!
Die haben schon Probleme normale Anweisungen zu verstehen, geschweige denn solche wo dann Teile "fehlen" und die nicht in der Online Hilfe nachgelesen oder erklärt werden können
Denn wie du schon so schön bemerkt hast: "... kann man davon ausgehen ..."
Dazu muss auch noch der Variablentyp erklärt werden und deren Zusammenhänge, bzw. korrekte Syntax.
Ausserdem bin ich der Meinung, wenn das Problem mit einer Antwort gelöst ist, dann sollte es gut sein.
Gruss Rainer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige