Anzeige
Archiv - Navigation
1484to1488
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 aktivieren/ dekativieren / ToggleButton

Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 16:09:46
Marvin
Hallo zusammen,
habt ihr sowas schon einmal eingebaut und verwendet es selber und wenn ja, wie lässt sich das möglich machen?
Folgendes Anliegen:
Ich würde gerne einzelne Makros, die im Makromodul stehen, via Commandbutton1 = Einschalten & Commandbutton2 = Ausschalten, allerdings finde ich keinen Thread der mir genau das auf Anhieb beantworten kann.
Am liebsten wäre mir gar ein Tooglebutton, der mir dies möglich macht, wenn die Möglichkeit überhaupt besteht.
Würde mich sehr über Anhaltspunkte freuen.
Beste Grüße und vielen Dank.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 16:52:32
Hajo_Zi
beim Button
BoStart=Not BoStart
und im Makro Prüfen ob True.
Variable mit Public definieren.

AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 16:53:51
Matthias
Hallo
Ein Beispiel zum Testen
Code gehört in die Tabelle
Private Sub CommandButton1_Click()
Makro1
End Sub
Private Sub CommandButton2_Click()
Makro2
End Sub
Private Sub ToggleButton1_Click()
If ToggleButton1 Then
MyBool = True
Else
MyBool = False
End If
MsgBox MyBool
End Sub

Sub Makro1()
If MyBool Then MsgBox "Makro1 ausführen"
End Sub

Sub Makro2()
If MyBool Then MsgBox "Makro2 ausführen"
End Sub
In ein Modul:
Public MyBool As Boolean
Gruß Matthias

Anzeige
AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 17:19:34
Marvin
Hey Matthias,
danke für deinen Vorschlag und deine Mühe, ich hab das Ganze jetzt mal so eingefügt und angepasst, aber ich kann überhaupt nicht nachvollziehen was da passiert/ passieren soll.
Es gibt zwei Möglichkeiten die ich nutzen mag, entweder:
Ein Makro über Commandbutton 1 Einschalten und über Commandbutton 2 ausschalten.
ODER
Ein Standard-Makro via Togglebutton steuern, sprich entweder ich aktivere es oder deaktiviere es.
Kann auch gut sein, dass das genau so mit deinem Vorschlag passieren soll, aber dann weiß ich ehrlich gesagt nicht so richtig, wie das funktionieren soll.
Beste Grüße

Anzeige
AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 17:29:41
Daniel
Hi
versuche nochmal mit anderen Worten zu beschreiben, was du willst.
man kann ein Makro normalerweise nicht ein- und ausschalten.
man kann es nur starten und dann läuft es durch bis es fertig ist.
was meinst du mit "Standard-Makro"?
auch dieser Begriff hat keine feste Bedeutung.
meinst du hiermit ggf die Eventmakros aus den Tabellenblattmodulen?
Gruß Daniel

AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 17:54:50
Marvin
Hallo Daniel,
du hast Recht, vielleicht sollten wir das ganze was ruhiger und genauer angehen, also versuche ich euch das Anliegen zu erklären.
Ich habe in meiner Datei ein Makro was die ganze Zeit durchläuft und zwar ist es die Uhrzeit, die sich sekündlich nun mal ändert. Ich habe keinerlei Möglichkeit in den Entwurfsmodus zu springen, wenn ich beispielsweise etwas ändern muss, da dieses Uhrzeitmakro weiterläuft und es mir nicht erlaubt in den Entwurfsmodus zu gelangen. Nun möchte ich per Button dieses Zeitmakro deaktivieren, damit ich evtl. Änderungen vornehmen kann und es dann via Button wieder aktivieren ohne den Code auszukommentieren, denn dies ist bisher der einzige Weg, das Makro zu "deaktivieren".
Hoffe Ihr könnt mir folgen.
Der Code den ich verwende für die Uhrzeit:
Diese Arbeitsmappe:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime EarliestTime:=DaEt, Procedure:="Zeitmakro", Schedule:=False
End Sub

Private Sub Workbook_Open()
Zeitmakro
End Sub

Modul1:
Option Explicit
Public DaEt As Date
Sub Zeitmakro()
ThisWorkbook.Worksheets("Tabelle1").TextBox1 = Format(Time, "hh:mm:ss")
DaEt = Now + TimeValue("00:00:01")
Application.OnTime DaEt, "Zeitmakro"
End Sub
Liebe Grüße

Anzeige
AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 18:15:30
Daniel
Hi
schreibe folgendes Makro noch ins Modul 1 (ist im Prinzip der Code aus dem BeforeClose-Event)
Sub ZeitMakroStopp()
if DaEt > Now then Application.OnTime EarliestTime:=DaEt, Procedure:="Zeitmakro", Schedule:= _
False
End Sub
um die Uhrzeit anzuhalten führst du dann das Makro ZeitMakroStopp aus, um sie wieder zu starten das Makro ZeitMakro
Die Makros kannst du über den entsprechenden Menüpunkt starten oder du kannst auch zwei Formula-Buttons erstellen und ihnen diese beiden Makros zuweisen.
Gruß Daniel

AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 18:37:33
Marvin
Hey Daniel,
das hat funktioniert, musste nur das Zeichen auf if DaEt kleiner Now ändern, scheint also nun damit zu laufen. Vielen Dank dafür.

Anzeige
AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 18:56:31
Marvin
Wie kurios ist das denn @Daniel,
ich kann über die Entwicklertools das Makro starten / stoppen, aber nicht über Schaltflächen & Commandbuttons? Das starten funktioniert, aber das Stoppen nicht...

AW: Makro aktivieren/ dekativieren / ToggleButton
12.04.2016 19:04:02
Marvin
Alles gut, es läuft!
Danke an alle für eure Mühe.
Liebe Grüße

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige