Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro darf nur ausgeführt werden wenn Checkboxen aktiviert.

Forumthread: Makro darf nur ausgeführt werden wenn Checkboxen aktiviert.

Makro darf nur ausgeführt werden wenn Checkboxen aktiviert.
09.04.2024 11:49:02
Bernd_
Hallo Zusammen,

in meiner Beispieldatei befindet sich ein Makro.
Auf dem Blatt Check ist ein CommandButton und es befinden sie 3 CheckBoxen auf dem Blatt.

Ich möchte gerne das das Makro per Button nur ausgeführt werden kann wenn alle 3 Checkboxen "abgehakt" sind. Und nachdem das Makro ausgeführt wurde die CheckBoxen wieder deaktiviert sind.

Ist das möglich ?
https://www.herber.de/bbs/user/168584.xlsm
Gruß Bernd_
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro darf nur ausgeführt werden wenn Checkboxen aktiviert.
09.04.2024 12:48:02
Yal
Hallo Bernd_

Version 1:
Sub PDF_ablegen()

Const cFilename = "C:\Users\XXXXXX\XXXXXXXXX\Desktop2\Neuer Ordner\Test"

With Sheets("Check")
'Prüfen, aussteigen
If Not .CheckBox1.Value Then Exit Sub
If Not .CheckBox2.Value Then Exit Sub
If Not .CheckBox3.Value Then Exit Sub
'Exportieren
.Range("A1:G23").ExportAsFixedFormat Type:=xlTypePDF, Filename:=cFilename & Format(Now, "_DD_MM_YYYY_hh_mm_"), _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False
'Daten löschen
.Range("A1:G23").ClearContents
'Checkbox zurücksetzen
.CheckBox1.Value = False
.CheckBox2.Value = False
.CheckBox3.Value = False
End With
End Sub


Version 2:
Sub PDF_ablegen()

Dim i As Long
Const cFilename = "C:\Users\XXXXXX\XXXXXXXXX\Desktop2\Neuer Ordner\Test"

With Sheets("Check")
'Prüfen, aussteigen
For i = 1 To 3
If Not .Controls("Checkbox" & i).Value Then Exit Sub
Next
'Exportieren
.Range("A1:G23").ExportAsFixedFormat Type:=xlTypePDF, Filename:=cFilename & Format(Now, "_DD_MM_YYYY_hh_mm_"), _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False
'Daten löschen
.Range("A1:G23").ClearContents
'Checkbox zurücksetzen
For i = 1 To 3
.Controls("Checkbox" & i).Value = False
Next
End With
End Sub


VG
Yal
Anzeige
AW: Makro darf nur ausgeführt werden wenn Checkboxen aktiviert.
09.04.2024 13:29:54
Bernd_
Hallo Yal,

herzlichen Dank.

Wo ist der Unterschied zwischen Makro 1 und Makro 2?

Gruß bernd_
AW: Makro darf nur ausgeführt werden wenn Checkboxen aktiviert.
09.04.2024 13:50:44
Yal
Hallo Bernd,

wenn ich ganz frech wäre, würde ich sagen, lesen und vergleichen ;-) Code zu lesen und sich damit auseinandersetzen ist sehr wichtig, um mit VBA zurecht zu kommen.

Die Unterschied liegt in der Aufruf der Checkboxes:
in der Version 1 werden jede einzelne ckb abgefragt. Daher wird direkt der ckb-Objekt verwendet.
Sheets("Check").CheckBox1.Value


In zweiten wird eine Schleife verwendet, um damit den Namen nachzubilden. Da diese Name ein String (=Zeichenkette) ist und kein Objekt, muss man es als Schlüssel, um in der Auflistung der "Controls" (mit einem s, weil Auflistung, eng. "Collection") den passenden Objekt adressieren zu können.
Sheets("Check").Controls("Checkbox1").Value


VG
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige