Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
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
Pause in Makro einfügen
11.01.2016 08:07:22
Bettina
Guten Morgen,
ich hoffe Ihr könnt mir weiterhelfen, ich möchte gerne in meinem Makro eine kurze Pause einbauen - sprich das Makro sollte für 10 Sekunden angehalten,und dann wieder automatisch fortgesetzt werden.
Sub Makro1()
' Makro1 Makro
' Tastenkombination: Strg+Umschalt+H
Range("A1").Select
ActiveCell.FormulaR1C1 = "100"
Range("A2").Select
PAUSE
Sheets("Tabelle1").Select
Sheets("Tabelle1").Copy
ChDir "C:\Desktop"
ActiveWorkbook.SaveAs Filename:="C:\Desktop\100.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

Vielen Dank und einen schönen Tag,
Bettina

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pause in Makro einfügen
11.01.2016 08:11:02
Raffi95

Application.Wait (x)

x = Zeit in Millisekunden

AW: Pause in Makro einfügen
11.01.2016 10:56:16
Luschi
Hallo Bettina,
köntest Du vielleich auch erklären, wozu Du diesen 'Gimmick' brauchst. Immer wieder wird in diesen Excel-Foren nach Lösungen für die Beschleunigung des Vba-Codes gesucht, Du aber willst künstlichen Bremsen einbauen.
fragt sich Luschi
aus klein-Paris

AW: Pause in Makro einfügen
11.01.2016 09:04:59
Dieter(Drummer)
Hallo Bettina,
Pause:

Application.Wait Now + TimeSerial(0, 0, 2) 'wartet 2 Sekunden
Gruß, Dieter(Drummer)

AW: Pause in Makro einfügen
11.01.2016 09:27:58
Jürgen
kurze Frage zu dem Thema,
kann man da eine Meldung einbauen. ...
Etwas so :
Code läuft weiter in 10 Sekunden und dann sieht man die zweit 10 ,9,8,7
lg jürgen

Anzeige
AW: Pause in Makro Mit Info
11.01.2016 09:39:14
Dieter(Drummer)
Hallo Jürgen,
z.B. so:
Sub ZeitPause()
MsgBox ("Pause beginnt")
Application.Wait Now + TimeSerial(0, 0, 2) 'wartet 2 Sekunden
MsgBox ("Pause Ende")
End Sub

Das "optische" Rückzählen der Zeit, da kann ich nicht helfen.
Gruß, Dieter(DRummer)

AW: Pause in Makro Mit Info
11.01.2016 10:06:56
Bettina
Vielen Dank die Pause funktioniert nun. Mein Makro sieht jetzt so aus:
Range("A1").Select
ActiveCell.FormulaR1C1 = "323"
Range("A2").Select
Application.Wait Now + TimeSerial(0, 0, 10)
Sheets("Tabelle1").Select
Sheets("Tabelle1").Copy
ActiveWorkbook.SaveAs Filename:="C:\323.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Range("A1").Select
ActiveCell.FormulaR1C1 = "328"
Range("A2").Select
Application.Wait Now + TimeSerial(0, 0, 10)
Sheets("Tabelle1").Select
Sheets("Tabelle1").Copy
ActiveWorkbook.SaveAs Filename:="C:\328.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Das Problem ist nur dass die Abfrage die gemacht werden soll erst ausgeführt wird wenn die Datei schon gespeichert ist. Ist es möglich dass die Dateien nach dem Speichern - wenn dann die Aktion ausgeführt ist - nochmal abgespeichert werden?
Am besten wäre es wenn alle geöffneten Datein gespeichert und anschließend geschlossen werden.
Danke
LG Bettina

Anzeige
AW: Sorry Bettina ...
11.01.2016 12:24:49
Dieter(Drummer)
... ich musste weg und konnte mich deshalb nicht wieder melden. Dir konnte wohl schon von Daniel geholfen werden. Ich wäre da sowieso nicht der Spezialist dafür gewesen.
Gruß, Dieter(Drummer)

AW: Pause in Makro einfügen
11.01.2016 10:08:37
Daniel
Hi
müsste so laufen:
1. Erstelle eine Userform mit einem Label
2. als Code dann im allgemeinen Modul:
...
hier der code vor der Pause
With UserForm1
.Show False
For i = 10 To 1 Step -1
.Label1.Caption = "Markostart in " & i & " Sekunden."
.Repaint
Application.Wait Now + TimeSerial(0, 0, 1)
Next
End With
Unload UserForm1
hier der Code nach der Pause

Anzeige
AW: Zeitablauf zeigen
11.01.2016 12:48:19
Dieter(Drummer)
Hi Daniel,
aus Interesse hana ich mal dein Makro einsetzt und es kommt aber eine Fehlermeldung: Fehler beim kompilieren, Variable nicht definiert. Markierung auf: For i = 10 To 1 Step -1.
Hier mein ganzer Modul-Code:
Option Explicit
Sub ZeitPause()
MsgBox ("Pause beginnt")
UserForm1.Show
With UserForm1
.Show False
For i = 10 To 1 Step -1
.Label1.Caption = "Markostart in " & i & " Sekunden."
.Repaint
Application.Wait Now + TimeSerial(0, 0, 10) 'Makropause 10 Sek.
Next
End With
Unload UserForm1
MsgBox ("Pause Ende")
End Sub

Könnest di mir da helfen, da ich da aus fehlendem VBA-Wissen nichts machen kann.
Gruß, Dieter(Drummer)

Anzeige
wo ist i definiert? so schwer ? oT
11.01.2016 13:08:58
robert

AW: robert ...
11.01.2016 13:39:24
Dieter(Drummer)
... ich verzichte generell auf deine Mitteilungen, die Gründe sind dir bekannt!
Dieter(Drummer)

warum antwortest Du dann?
11.01.2016 14:36:44
robert
Die Gründe sind aber nicht unbegründet !
Da versuchst Du in letzter Zeit bei VBA zu helfen
und kapierst die einfachsten Sachen nicht.
Fehelermeldung: 'Variable nicht definiert' und Du fragst wo der Fehler ist !
Wenn Du gerne Deinen Namen liest, dann schreib ihn doch 100 mal auf ein Blatt Papier.
Ansonsten-siehe die Antwort von Daniel-kann mich nur anschließen.

AW: Sir robert ...
12.01.2016 09:19:17
Dieter(Drummer)
Herzlichen Glückwunsch!
Jetzt haben sie es mir aber richtig gegeben, Herr Oberlehrer!
Ad1: Es gibt Menschen, die in der Logik nicht so gut sind wie sie, aber das entzieht sich wohl ihrem Verständnis.
Ad2: Belehrungen, zu denen sie offensichtlich schon mehrfach geneigt waren, sind sicht nicht im Sinne von Hilfestellungen, denen man sich ja auch durch eine Nichtantwort entziehen kann.
Ad3: Jede Frage in diesem Forum, dient auch jedem Mitleser bei anderen Dingen.
Ad4: Es gibt noch wesentlich längere Frage und Antworten in diesem Forum, als meine, die überwiegend nicht so lang sind. Auch dies mussten sie ja unbedingt mal kommentieren.
Ad5: Wie lange ich schon hier in diesem Forum als Fragender bin (seit Jahr 2004 und nur in diesem Forum!), mussten sie auch unbedingt mal anmerken.
Abschliessend kann ich nur sagen, bleiben sie so wie sie sind. Ich habe Verständnis für Menschen, die unbedingt Kristisieren müssen. Bedenken sie aber auch, kein Mensch ist vollkommen :-)!
Bitte KEINE Mitteilungen mehr von ihnen! Danke!
Gruß, von einem weiter Fragenden und Mitlesenden in diesem Forum, auch wenn es ihnen nicht gefällt.
Dieter(Drummer)

Anzeige
AW: Zeitablauf zeigen
11.01.2016 13:09:46
Daniel
dann definiere die Variablen.
stelle DIM i as Long an den Anfang
ich bin halt davon ausgegangen, dass du zumindest die Grundlagen von VBA kannst und ne Variablendeklaration sollte man schon selbst hinbekommen.
Gruß Daniel

AW: Daniel, Danke für die Antwort. owT.
11.01.2016 13:37:09
Dieter(Drummer)

38 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Anzeige

Infobox zum Thema

EXCEL - Makro mit Pause versehen


Inhaltsverzeichnis

  1. Was ist die Aufgabe?
  2. Einsatzzweck
  3. Loesungsansatz
  4. VBA-Code
  5. Zusammenfassung

Was ist die Aufgabe?

In einem VBA-Makro soll eine Pause von 10 Sekunden eingefügt werden, bevor das Makro seine Aktionen fortsetzt.


Einsatzzweck

Es kann vorkommen, dass zwischen den Aktionen eines Makros eine kurze Verzögerung notwendig ist. Dies kann z.B. erforderlich sein, wenn externe Daten geladen werden oder wenn man dem Benutzer Zeit geben möchte, eine bestimmte Aktion auszuführen oder eine Information zu verarbeiten.


Lösungsansatz

VBA bietet die Application.Wait-Methode, um eine Pause in einem laufenden Makro einzufügen.


VBA-Code

Hier ist ein Beispiel, wie du eine Pause von 10 Sekunden in dein VBA-Makro einfügen kannst:

Sub PauseMakro()

    ' ... Einige Aktionen vor der Pause ...

    ' Pause für 10 Sekunden
    Application.Wait (Now + TimeValue("0:00:10"))

    ' ... Aktionen nach der Pause ...

End Sub

Die TimeValue-Funktion wird verwendet, um die gewünschte Pausezeit anzugeben. In diesem Fall sind es 10 Sekunden.


Zusammenfassung

Mit der Application.Wait-Methode kannst du in einem VBA-Makro eine Pause einfügen. Dies ist nützlich, wenn zwischen den Aktionen des Makros eine gewisse Verzögerung erforderlich ist. Das obige Beispiel zeigt, wie du eine Pause von 10 Sekunden hinzufügen kannst.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige