Makro langsamer laufen lassen ein Befehl

Bild

Betrifft: Makro langsamer laufen lassen ein Befehl
von: Felix Zehetner
Geschrieben am: 03.10.2015 09:30:28

Liebes Herber-Team
Ich habe ein Problem mit den Excel-Makros.
Wie kann ich ein Makro langsamer ablaufen lassen, ohne dabei extrem oft einen Befehl eingeben zu müssen? Ist es möglich, mit wenig Aufwand und bestenfalls nur einem Befehl alle Schritte eines Makros langsamer laufen zu lassen?

Bild

Betrifft: AW: Makro langsamer laufen lassen ein Befehl
von: ransi
Geschrieben am: 03.10.2015 09:40:01
Hallo,
Füg vor jedem Befehl ne Pause ein.

Option Explicit
Private Declare Sub Sleep Lib "kernel32.dll" ( _
    ByVal dwMilliseconds As Long)

Sub machs()
    Dim zelle As Range
    For Each zelle In Range("A1:A10")
        Sleep 1000 '1000 Millisekunden Auszeit
        zelle.Select
    Next
End Sub



Obwohl sich mir der Sinn dieser Aktion nicht erschließt...
ransi

Bild

Betrifft: AW: Makro langsamer laufen lassen ein Befehl
von: Felix Zehetner
Geschrieben am: 03.10.2015 09:42:50
Ich experimentiere nur, sorry. Ich möchte ja genau vermeiden, nach jedem Befehl diesen Text einzufügen, weil das Makro lang ist.
Gibt es eine Möglichkeit, zu Beginn des Makros zu definieren, dass alle folgenden Schritte mit einer Verzögerung von zB einer halben Sekunde ablaufen sollen?

Bild

Betrifft: AW: Makro langsamer laufen lassen ein Befehl
von: ransi
Geschrieben am: 03.10.2015 10:13:20
HAllo Felix,
Warum willst du denn ein Makro langsamer machen ?
Das widerspricht allem was ich je gehört habe.
ransi

Bild

Betrifft: AW: Makro langsamer laufen lassen ein Befehl
von: Felix Zehetner
Geschrieben am: 03.10.2015 10:23:33
Hallo ransi,
Ich möchte, dass sich ein aus verschiedenen farbigen Feldern gestaltetes Bild langsam aufbaut also von Feld zu Feld. Sodass von Feld zu Feld ein zeitlicher Abstand von einer halben Sekunde ist.
Danke schon im Voraus, ransi. :)

Bild

Betrifft: AW: Makro langsamer laufen lassen ein Befehl
von: ransi
Geschrieben am: 03.10.2015 10:31:47
HAllo,
Aaaaaah ja.
Außer der Sleep-Api kenne ich keine Möglichkeit den Code zu verlangsamen.
ransi

Bild

Betrifft: Datei?
von: RPP63
Geschrieben am: 03.10.2015 10:49:30
Hallo!
Du solltest Deine Datei mal hochladen.
Gruß Ralf

Bild

Betrifft: AW: Makro langsamer laufen lassen ein Befehl
von: Daniel
Geschrieben am: 03.10.2015 12:02:08
Hi
eine Möglichkeit, den Code generell zu verlangsamen, kenne ich auch nicht, ausser nach jedem Programmschritt eine Pause zu programmieren.
damit du die Pause nicht jedes mal Programmieren musst, kannst du ja vielleicht so vorgehen:
1. lege benötigten Informationen, dh welche Zelle beearbeitet werden soll und was mit ihr passieren soll in einem oder mehreren Array-Variablen ab.
2. Programmiere das Umfärben der Zellen nicht einzeln pro Zelle, sondern in dem du eine Schleife über die Arrays laufen lässt und mit den Daten aus dem Array arbeitest. Dann musst du die Pause auch nur 1x in der Schleife programmieren und dein Code wird vielleicht insgesamt kürzer.
funktioniert natürlich nur, wenn die Arbeitsschritte einheitlich sind und irgendwie in einem Array speicherbar sind.
hier mal ein Beipiel für den Aufbau einer Ampel in A1:A3:

Sub test()
Dim Zelle
Dim Farbe
Dim i
Dim t As Double
Zelle = Array("A1:A3", "A1", "A2", "A3")
Farbe = Array(vbWhite, vbRed, vbYellow, vbGreen)
For i = LBound(Zelle) To UBound(Zelle)
    Range(Zelle(i)).Interior.Color = Farbe(i)
    t = Timer + 0.75
    Do While Timer < t
    Loop
Next
    
End Sub
Gruss Daniel
ps: die Pausenschleife darf nicht über Mitternacht laufen, weil um Mitternacht der Timer auf 0 zurückgesetzt wird.

Bild

Betrifft: AW: Makro langsamer laufen lassen ein Befehl
von: Sepp
Geschrieben am: 04.10.2015 07:37:41
Hallo Felix,
zeig deinen Code.

Gruß Sepp


Bild

Betrifft: AW: Makro langsamer laufen lassen ein Befehl
von: Felix Zehetner
Geschrieben am: 04.10.2015 08:55:20
https://www.herber.de/bbs/user/100574.xlsx
Das ist die Datei. Möchte, dass sich der Stapel von roten Feldern in Halbsekundenschritten aufbaut.
Das Makro heißt Herber_Test.
Vielen Dank,
Felix

Bild

Betrifft: Der Code fehlt! Leere Mappen hab ich selber! o.T.
von: Sepp
Geschrieben am: 04.10.2015 08:59:23

Gruß Sepp


Bild

Betrifft: AW: Der Code fehlt! Leere Mappen hab ich selber! o.T.
von: Felix Zehetner
Geschrieben am: 04.10.2015 09:25:51
Tut mir leid, falsche Datei erwischt. Die hier dürfte funktionieren:
https://www.herber.de/bbs/user/100575.xlsm
Danke für eure Hilfe.

Bild

Betrifft: AW: Der Code fehlt! Leere Mappen hab ich selber! o.T.
von: Sepp
Geschrieben am: 04.10.2015 09:34:10
Hallo Felix,

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub Herber_Test()
Dim rng As Range

For Each rng In Range("E6:E12")
  rng.Interior.Color = 255
  Sleep 500 'Pause in Millisekunden
Next

End Sub

Gruß Sepp


Bild

Betrifft: AW: Der Code fehlt! Leere Mappen hab ich selber! o.T.
von: Felix Zehetner
Geschrieben am: 04.10.2015 10:04:47
Sepp, vielen Dank, das ist großartig.
Freu mich wirklich sehr. :DD
Felix

Bild

Betrifft: in einer . xlsx gibt es keine Makros.........owT
von: Robert
Geschrieben am: 04.10.2015 09:00:11


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro langsamer laufen lassen ein Befehl"