Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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

Makro pausieren bis Schaltfläche geklick

Makro pausieren bis Schaltfläche geklick
04.12.2020 14:34:15
Katrin
Hallo,
noch kurz vorm Wochenende eine Frage.
Mein Makro (1) soll an einer Stelle innerhalb einer FOR ...NEXT - Schleife pausieren.
Es wird in der Arbeitsmappe ein Sheet ausgewählt, auf dem ich im Vorwege zwei Befehlsschaltflächen generiert habe. Eine Schaltfläche "Kein Versand", die zweite Schaltfläche "Versand". Diesen Schaltflächen sind entsprechende Makros zugewiesen.
Der Nutzer soll eine der beiden Schaltflächen betätigen. Wenn dann das der Schaltfläche zugewiesene Makro ausgeführt wurde, soll das pausierende Makro (1) weiterlaufen.
Ich hoffe, ich konnte mein Problem einigermaßen rüberbringen.
Wäre traumhaft, wenn es dafür eine Lösung gäbe.
Ich habe mich zu DoEvents belesen, aber so richtig bin ich nicht schlau geworden.
Vorweihnachtliche Grüße!
Katrin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro pausieren bis Schaltfläche geklick
04.12.2020 15:57:54
worti
Hallo Katrin,
deklariere ein Puplic boolsche Variable, in meinem Beispiel bolButtonGedrueckt
Dann baue den folgenden kleinen Codeschnipsel an der "Haltestelle" ein
    bolButtonGedrueckt = False
Do While Not bolButtonGedrueckt
DoEvents
If bolButtonGedrueckt Then Exit Do
Loop

Sobald der Button gedrückt wird, musst du bolButtonGedrueckt auf true setzen und der Code läuft weiter
Private Sub CommandButton1_Click()
bolButtonGedrueckt = True
End Sub

Gruß Worti
AW: Makro pausieren bis Schaltfläche geklick
07.12.2020 16:17:48
Katrin
Hallo Worti,
ich habe es mit der boolschen Variablen probiert. Mein Problem ist, dass die generierten Schaltflächen in einer anderen Datei sind als das Makro. Das Makro ist in einer Master-Datei.
Der Code "Private Sub CommandButton1_Click()" muss ja aber unter dem Arbeitsblatt abgelegt werden, wo die Schaltflächen sind. Das ist in einer vom Makro erzeugten neuen Datei.
Ich könnte diese CommandButton1_Click()-Subs (ich brauch mehrere) in einem Modul in der Masterdatei bereithalten, müsste das Modul dann aber in die erzeugte Datei exportieren.
Dabei frage ich mich, ob das Makro in der Masterdatei dann den Klick auf die Schaltfläche (True) in der erzeugten Datei abfragen kann.
Ich hoffe, du verstehst was ich meine.
Vielleicht will ich auch zu viel. Aber schön wäre es schon :-)
VG!
Katrin
Anzeige
AW: Makro pausieren bis Schaltfläche geklick
04.12.2020 16:37:10
Daniel
HI
muss das über Schaltflächen im Blatt laufen?
solche einfachen JA-Nein-Abfragen kann man auch mit Messageboxen machen:
Select Case Msgbox("Versenden", vbYesNoCancel + vbQuestion, "freundliche Überschrift")
Case vbYes
Call Makro_bei_Versand_ja
Case vbNo
Call Marko_bei_Versand_nein
Case else
Exit Sub
End Select

AW: Makro pausieren bis Schaltfläche geklick
07.12.2020 08:29:50
Katrin
Vielen Dank für die Vorschläge. Heute bastle ich an meinem Makro weiter und gebe eine Rückmeldung.
Die Messagebox hat meines Erachtens das Problem, dass man solange sie aktiv ist, in Excel nicht anderweitig agieren kann. Hatte ich nicht geschrieben, aber man muss an dieser Stelle etwas prüfen und unter Umständen in einer anderen Exceldatei etwas nachschauen. Ich glaube, das geht dann nicht.
Ich werde mich mal mit der Bolschen Variablen auseinandersetzen.
VG!
Katrin
Anzeige
AW: Makro pausieren bis Schaltfläche geklick
07.12.2020 09:04:11
Daniel
Hi
Es gibt die Applications.Inputbox(..., Type:=8), mit der man Zellbereiche auswählen und eingeben kann während das Makro läuft, damit könnte man sich während dem Makrolauf was in Excel anschauen kann.
Als Auswahloption gibts "OK" und "Abbrechen".
Die andere Alternative wäre, dass du seperate Makros schreibst:
Eines bis zur Auswahl und dann für jeden Button eines.
Variablen, die in allen Makros verwendet werden müssen, kannst du als Projekweit gültig anlegen (Deklaration mit Public in einem allgemeinen Modul oberhalb der Makros).
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige