Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
828to832
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
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro zyklisch ausführen?

Makro zyklisch ausführen?
21.12.2006 15:37:36
Bernhard
Hallo zusammen,
habe folgendes winziges Makro geschrieben:

Sub Empfehlung_Bandlänge()
If Worksheets("Produkt&Maschine").Range("B8").Value <> "?" & Worksheets("Produkt&Maschine").Range("B15").Value <> "?" Then
Worksheets("Produkt&Maschine").Range("G21").Value = Worksheets("Produkt&Maschine").Range("B8").Value + Worksheets("Produkt&Maschine").Range("B15").Value
Worksheets("Produkt&Maschine").Range("G29").Value = Worksheets("Produkt&Maschine").Range("B8").Value + Worksheets("Produkt&Maschine").Range("B15").Value
Else
Worksheets("Produkt&Maschine").Range("G21").Value = "?"
Worksheets("Produkt&Maschine").Range("G29").Value = "?"
End If
End Sub

Jetzt möchte ich, dass es im Hintergrund selbständig immer wieder ausgeführt wird (also ohne dass ich auf Play drücke).
Ist sowas möglich? Wie geht das?
Vielen Dank für Eure Hilfe
Bernhard

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zyklisch ausführen?
21.12.2006 15:47:32
Fred
Hi,

Sub Empfehlung_Bandlänge()
Do
With Worksheets("Produkt&Maschine")
If .Range("B8").Value <> "?" & .Range("B15").Value <> "?" Then
.Range("G21").Value = .Range("B8").Value + .Range("B15").Value
.Range("G29").Value = .Range("B8").Value + .Range("B15").Value
Else
.Range("G21").Value = "?"
.Range("G29").Value = "?"
End If
End With
Loop
End Sub

mfg Fred
AW: Makro zyklisch ausführen?
22.12.2006 07:49:17
Bernhard
Hallo,
erstmal vielen Dank für die schnelle Hilfe! Die Verwendung von "With - End With" ist auch sehr hilfreich.
Allerdings habe ich mit der Schleife das Problem, dass Excel dann nicht mehr reagiert. Blokiert die Endlosschleife weiteres Vorgehen?
Weiterhin scheint meine If-Abfrage nicht zu funktionieren, da in der Zielzelle z.B. "?" steht, wenn die Bezugszellen beide ein Fragezeichen aufweisen.(oder "ab", wenn jeweils a und b in den Bezugszellen steht)
Hat jemand eine Idee warum?
Anzeige
AW: Makro zyklisch ausführen?
22.12.2006 07:54:36
Bernhard
Hallo nochmal, was ich gerade geschrieben habe war natürlich zum Teil Mist.
Wenn "a" und "b" drin steht ist das ja "?". Aber es passiert halt auch, wenn "?" in beiden oder einer Zelle steht.
AW: Makro zyklisch ausführen?
22.12.2006 08:26:28
Bernhard
Ich bins nochmal,
habe festgestellt, dass ich eine falsch Und-Verknüpfung verwendet habe (schlimm, wenn man mehr als drei Programmiersprachen gleichzeitig verwendet).
Das Problem mit der Schleife habe ich leider immer noch...
Vielen Dank für eure Hilfe
AW: Makro zyklisch ausführen?
22.12.2006 11:53:26
Heiko
Hallo,
warum willst du das denn zyklisch abarbeiten.
Wann und wodurch ändert sich den der Inhalt der Zellen die du im Vergleich drin hast?
Ducrh manuelle Eingabe, durch eine Berechnung oder durch was ?!
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Makro zyklisch ausführen?
22.12.2006 13:56:16
Bernhard
Hallo,
die Inhalte werden manuell geändert. Eine Detektierung, ob sich der Inhalt der Felder geändert hat mit anschließender automatischer Makroausführung wäre optimal.
Geht das?
Danke,
Bernhard
AW: Makro zyklisch ausführen?
22.12.2006 14:15:06
Heiko
Hallo Bernhard,
diesen Code in das Codefenster der Tabelle die du überwachen willst.

Private Sub Worksheet_Change(ByVal Target As Range)
' Hier dann dein Code rein OHNE DIE SCHLEIFE !!!
' Das soll nur zeigen das es geht, kann später raus.
MsgBox "Es wurde gerade was geändert, in Zelle " & Target.Address, vbInformation
End Sub

Oder den wenn du nur bei Änderungen in B8 oder B15 was machen willst.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "B8" Or Target.Address(False, False) = "B15" Then
' Hier dann dein Code rein OHNE DIE SCHLEIFE !!!
' Das soll nur zeigen das es geht, kann später raus.
MsgBox "Es wurde gerade was geändert, in Zelle " & Target.Address, vbInformation
End If
End Sub

Die Afrage wo was geändert wurde läßt sich bei Bedarf auch noch erweitern.
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Makro zyklisch ausführen?
22.12.2006 14:01:57
Daniel
Hallo
informier dich mal über die Application.OnTime-Eigenschaft.
Damit kann man ein Makro zeitgesteuert aufrufen.
Du müsstest dann 2 Makros schreiben, die sich gegenseitig mit einem Versatz von 10 Minuten aufrufen.
Gruß, Daniel Eisert
AW: Makro zyklisch ausführen?
22.12.2006 14:11:55
Bernhard
Hallo,
ist das im standardumfang enthalten? Wenn ich in VB danach suche (Suchen-Funktion) finde ich es nicht...
Bernhard
AW: Makro zyklisch ausführen?
22.12.2006 14:23:14
Daniel
Hallo
bei mir ja.
gib mal im Direktfenster "Application.OnTime" ein, sezte den cursor auf "OnTime" und drücke F1. dann sollte die Hilfe erscheinen, falls sie installiert ist.
Gruß, Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige