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

Checkbox Arbeitsblätter speichern

Checkbox Arbeitsblätter speichern
06.12.2020 13:40:44
Ulrich
Hallo zusammen,
ich habe eine Frage:
Mit folgenden Code drucke ich Arbeitsblätter der Excel Datei, die durch Checkboxen ausgewählt wurden, funktioniert auch.
Jetzt hätte ich gerne folgendes geändert!
1.Änderung: Nach dem Aufruf des Makros sind die ausgewählten Arbeitsblätter Gruppiert, die Gruppierung sollte aber wieder aufgehoben sein.
2.Änderung (als neues Makro) Das Makro so modifiziert, das die markierten Arbeitsblätter nicht gedruckt sondern im gleichen Ordner als Exceldatei gespeichert werden. (ich denke der Dateiname muss angepasst werden)
3. Änderung (Neues Makro) Das Makro so modifiziert, das die markierten Arbeitsblätter nicht gedruckt sondern im gleichen Ordner als pdf Datei gespeichert werden und die pdf geöffnet wird.
Kann mir hier einer helfen?
Ich find nichts passendes
Gruß Ulli
Sub Druck_Kontrollkästchen()
Dim i As Long
Dim oCheckbox As CheckBox
Dim strWs() As String
For Each oCheckbox In ActiveSheet.CheckBoxes
If oCheckbox.Value = 1 Then
i = i + 1
If i = 1 Then
ReDim strWs(1 To 1)
Else
ReDim Preserve strWs(1 To i)
End If
strWs(i) = oCheckbox.Caption
End If
Next oCheckbox
If i > 0 Then
Sheets(strWs).PrintPreview
'oder gleich ohne Vorschau
'Sheets(strWs).PrintOut
Else
MsgBox "Es wurde kein Blatt ausgewählt.", vbInformation
End If
End Sub

58
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 14:53:39
onur
Warum so kompliziert?
Private Sub CommandButton1_Click()
Dim CB As CheckBox
For Each CB In ActiveSheet.CheckBoxes
If CB Then
Sheets(CB.Caption).PrintPreview
'Hier Code-Zeile zum Speichern als XLSM
'Hier Code-Zeile zum Speichern als PDF
End If
Next CB
End Sub

AW: Checkbox Arbeitsblätter speichern
06.12.2020 15:04:50
Ulrich
Hallo Onur,
danke für deine Antwort.
Wenn ich jetzt Drucke, druckt er die markierten Arbeitsblätter einzeln, es sollte aber so sein das er diese zusammenführt, das wäre so bei meinem Code.
Ist das in deinem Code änderbar?
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 15:42:20
onur

Private Sub CommandButton1_Click()
Dim CB As CheckBox, i, pfad
Dim strWs()
pfad = "D:\HIER_DEIN_PDF_NAME.PDF" ' HIER PDF-NAME
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
'Sheets(CB.Caption).PrintOut
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator", PrintToFile:= _
True, Collate:=True, PrToFileName:=pfad
Sheets(strWs).Copy
' HIER DATEI-NAME
ActiveWorkbook.SaveAs Filename:="D:\DATEINAME.xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWorkbook.Close
Sheets(1).Select
End Sub

Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 16:21:25
Ulrich
Hallo Onur,
das Makro funktioniert soweit. Danke
Folgende Probleme:
1: Die pdf lässt sich aber nicht öffnen- Meldung "invalid file format"
2: Ist es nicht möglich die Dateien in dem gleichen Verzeichnis der Ursprungsdatei zu speichern?
3. Der Dateiname sollte möglichst der Name der Ursprungsdatei sein. (Bei der Excel Datei eventuell mit Anhang , 1 oder so)
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 16:28:58
onur
1) Dann hast du beim Namen irgendwas falsch gemacht (Endung doppelt?)
2) Dann lass den Pfad weg und gebe nur den Namen an.
3) Dann so:
    ' HIER DATEI-NAME
nam = ThisWorkbook.Name & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled,  _
CreateBackup:=False
ActiveWorkbook.Close
Sheets(1).Select
End Sub

Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 16:41:54
Ulrich
Hallo Onur,
ich habe den code jetzt wie folgt.
Aber es kommt folgender Fehler (Fett gedruckt, ThisWorkbook...))
Oben hatte ich pfad = "D:.... als Kommentar gesetzt ?
Private Sub CommandButton1_Click()
Dim CB As CheckBox, i, pfad
Dim strWs()
'pfad = "D:\Test" ' HIER PDF-NAME
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
'Sheets(CB.Caption).PrintOut
End If
Next CB
 ThisWorkbook.Sheets(strWs).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator", PrintToFile:=  _
_
True, Collate:=True, PrToFileName:=pfad
Sheets(strWs).Copy
' HIER DATEI-NAME
nam = ThisWorkbook.Name & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
CreateBackup:=False
ActiveWorkbook.Close
Sheets(1).Select
End Sub

Gruß Ulli
Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 16:45:16
onur
Statt
pfad = "D:\Test"
das
pfad = "Meine_PDF_Datei.pdf"
Kann es sein, dass du gar nix ausgewählt hattest?
AW: Checkbox Arbeitsblätter speichern
06.12.2020 17:07:41
Ulrich
Hallo,
ja jetzt speichert er, aber die PDF lässt sich nicht öffnen.
Bei der Exceldatei hängt er die -2 hinter xlsm, als xlsm-2
Der Dateiname der pdf sollte möglichst auch wie der Originalname sein.
das ist der aktuelle Code:
Private Sub CommandButton1_Click()
Dim CB As CheckBox, i, pfad
Dim strWs()
pfad = "Meine_PDF_Datei.pdf" ' HIER PDF-NAME
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
'Sheets(CB.Caption).PrintOut
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator", PrintToFile:=  _
_
True, Collate:=True, PrToFileName:=pfad
Sheets(strWs).Copy
' HIER DATEI-NAME
nam = ThisWorkbook.Name & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
CreateBackup:=False
ActiveWorkbook.Close
Sheets(1).Select
End Sub

Gruß Ulli
Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 17:21:11
onur

Private Sub CommandButton2_Click()
Dim CB As CheckBox, i, pfad, nam
Dim strWs()
pfad = "Meine_PDF_Datei.pdf" ' HIER PDF-NAME
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
'Sheets(CB.Caption).PrintOut
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator", PrintToFile:= _
True, Collate:=True, PrToFileName:=pfad
Sheets(strWs).Copy
' HIER DATEI-NAME
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = nam(0) & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
CreateBackup:=False
ActiveWorkbook.Close
Sheets(1).Select
End Sub

Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 17:40:25
Ulrich
Hallo Onur,
der Name der exceldatei ist jetzt ok.
Die PDF sollte aber auch den gleichen Namen der Ursprung Exceldatei haben, was muß ich da ändern?
Die pfd lässt sich auch nach wie vor nicht öffnen.
Müsste da eventuell print to PDF eingebunden werden.
Gruß Ulli
Userbild
AW: Checkbox Arbeitsblätter speichern
06.12.2020 17:47:43
onur
Wenn du die pdf nicht öffnen kannst, muss es am PDF-Viewer liegen - bei mir klappt es.
Versuche es mit Acrobat Reader.
Private Sub CommandButton1_Click()
Dim CB As CheckBox, i, pfad, nam
Dim strWs()
pfad = "Meine_PDF_Datei.pdf" ' HIER PDF-NAME
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = nam(0)
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
'Sheets(CB.Caption).PrintOut
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator", PrintToFile:= _
True, Collate:=True, PrToFileName:=nam & ".pdf"
Sheets(strWs).Copy
' HIER DATEI-NAME
nam = nam & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
CreateBackup:=False
ActiveWorkbook.Close
Sheets(1).Select
End Sub

Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 18:04:33
Ulrich
Hallo Onur,
auch mit dem adobe acrobat geht es nicht.
Müsste man eventuell exportieren.
Hier ein Beispiel aus dem netz.
Sub pdf()
ChDir "D:\pdf"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\pdf\Mappe1.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

AW: Checkbox Arbeitsblätter speichern
06.12.2020 18:13:21
onur
Wie gesagt, bei mir kein Problem.
Das Beispiel aus dem Netz klappt aber nur mit ganzen Dateien und nicht mit einzelnen Blättern.
Aber da wir die Datei sowieso haben (die mit -2 am Ende), geht es SO doch:
Private Sub CommandButton1_Click()
Dim CB As CheckBox, i, nam, strWs()
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = nam(0)
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
Sheets(strWs).Copy
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nam, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
nam = nam & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled,  _
CreateBackup:=False
ActiveWorkbook.Close
Sheets(1).Select
End Sub

Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 18:29:15
Ulrich
Ja, sehr schön.
Wäre es noch möglich das die PDF dann geöffnet wird?
Ansonsten top! Danke
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 18:30:15
onur

......OpenAfterPublish:=TRUE

AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:02:07
Ulrich
Hallo onur,
seltsamerweise werden die Dateien nicht im selben Ordner gespeichert.
ich weiss nicht wo sie abgelegt werden ?
Private Sub CommandButton1_Click()
Dim CB As CheckBox, i, nam, strWs()
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = nam(0)
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
Sheets(strWs).Copy
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nam, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
nam = nam & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
CreateBackup:=False
ActiveWorkbook.Close
Sheets(1).Select
End Sub

Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:05:21
onur
Normalerweise im Standardordner. Wenn du auf "Speichern unter" gehst, siehst du, wo du dich befindest (oben steht "aktueller Ordner").
Dann gib doch den Ordner vor.
Welcher (kompletter Pfad) wäre das denn?
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:11:49
Ulrich
Hallo Onur,
die Datei wird an unterschiedlichen Orten sein und soll dann über das speicher makro immer im aktuellen Ordner abspeichern.
Ja, ich weiss in welchen Ordner ich bin, aber dort sind die gespeicherten Dateien nicht.
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:16:53
onur
Die Datei (ebernso die PDF) wird immer in dem Ordner gespeichert, in dem sich die (aufgerufene) Originaldatei auch befindet.
Anzeige
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:05:00
Ulrich
Hallo onur,
und diese Meldung kommt noch beim speicherprozess
Userbild
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:08:39
onur
Füge nach
Sheets(strWs).Copy

diese Zeile ein:
Application.DisplayAlerts = False

und hinter
ActiveWorkbook.SaveAs ...

das hier:
Application.DisplayAlerts = True

AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:20:38
Ulrich
Hallo Onuk,
habe ich gemacht, keine Änderung, Dateien nicht da, und nach wie vor die Aufforderung ob die Änderungen gespeichert werden sollen.
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:22:18
onur
Dann poste mal den aktuellen Code.
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:23:41
Ulrich

Private Sub CommandButton1_Click()
Dim CB As CheckBox, i, nam, strWs()
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = nam(0)
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
Sheets(strWs).Copy
Application.DisplayAlerts = False
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nam, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
nam = nam & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
CreateBackup:=False
Application.DisplayAlerts = True
ActiveWorkbook.Close
Sheets(1).Select
End Sub

AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:28:08
onur
Ist das der EINZIGE Code in der Datei oder steht da irgendwo mehr Code?
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:33:09
Ulrich
Es gibt noch mehrere Cods,
haben aber alle nichts mit speichern oder drucken zu tun.
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:34:40
onur
Bei mir gibt es aber KEINERLEI Fehlermeldungen.
Damit ich es nachvollziehen kann, brauche ich die Datei.
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:37:14
onur
Schreib das mal eine Zeile tiefer (vor END SUB)
Application.DisplayAlerts = True

AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:50:31
Ulrich
Jetzt fragt er nicht mehr ob er "Ändern soll"
Aber die Dateien sind nicht auffindbar
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:42:03
onur
Wahrscheinlich doch!
Kann es sein, dass irgendein Makro (z.B. Workbook.BeforeClose) irgendwas in der Datei verändert ?
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:46:59
Ulrich
Das Speichern hatte ja anfänglich funktioniert.
Ich weiss auch nicht warum, aber etwas hakt noch an diesem Code, und nach dem Neustart von meinem Rechner speicherte er nicht mehr im Verzeichnis der Originaldatei.
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:50:22
onur
Nimm diese Zeile:
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLStrictWorkbook, CreateBackup:=False

statt
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Dann wird die neue Datei als XLSX gespeichert und die Makros kommen nicht in die Quere.
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:54:04
Ulrich
Das war es leider nicht, Dateien nicht im Ordner
AW: Checkbox Arbeitsblätter speichern
06.12.2020 20:57:26
onur
GEHE DOCH MAL AUF "Speicher unter" UND SCHAU NACH, WAS DA OBEN UNTER "aktueller Ordner" STEHT.
DA SIND AUCH DIE DATEIEN.
AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:03:54
Ulrich
Habe gerade den Rechner noch einmal neu gestartet, keine veränderung.
Der Ordner "Speichern unter" ist der Ordner wo die Original Datei steht.
Aber dort sind nicht die gespeicherten Dateien.
Ich glaube es wird gar nicht mehr gespeichert.
Wenn ich das Makro öfters aufrufe fragt er auch gar nicht mehr ob die vorhandene Datei überschrieben werden soll.
Irgend etwas stimmt nicht.
AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:06:43
onur
"fragt er auch gar nicht mehr ob die vorhandene Datei überschrieben werden soll" - Kann er ja auch nicht, ich habe die Meldung unterdrückt.
Hast du denn überhaupt meinen Post von 20:50:22 gelesen und umgesetzt?
AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:10:07
Ulrich
Ja habe ich,
hier der aktuelle Code.
Private Sub CommandButton1_Click()
Dim CB As CheckBox, i, nam
Dim strWs()
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = nam(0)
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
Sheets(strWs).Copy
Application.DisplayAlerts = False
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nam, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
nam = nam & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLStrictWorkbook, CreateBackup:= _
False
ActiveWorkbook.Close
Sheets(1).Select
Application.DisplayAlerts = True
End Sub

AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:20:01
onur
Nimm das:
Private Sub CommandButton3_Click()
Dim CB As CheckBox, i, nam, strWs()
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = ActiveWorkbook.Path & "\" & nam(0)
For Each CB In ActiveSheet.CheckBoxes
If CB Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Caption
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
Sheets(strWs).Copy
Application.DisplayAlerts = False
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nam, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
nam = nam & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLStrictWorkbook, CreateBackup:= _
False
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
Sheets(1).Select
End Sub

AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:23:54
Ulrich
oh, scheint zu laufen.
Hinweis auf überschreiben bei vorhandener Datei wäre noch ok
Gruß ULli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:32:08
Ulrich
Noch ein Problem.
Er ignoriert jetzt die Häkchen im Kontrollkästchen ?
AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:37:10
Ulrich
Hallo Onur,
als er druckt nur die Arbeitsblätter für die es ein Kontrollkästchen gibt.
Aber das setzen des Häkchen hat keine Relevanz.
AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:58:44
onur
Teste mal - aber vorher die Checkboxen durch Active-X-Checkboxen austauschen.
Private Sub CommandButton1_Click()
Dim CB, i, nam, strWs()
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = ActiveWorkbook.Path & "\" & nam(0)
For Each CB In ActiveSheet.OLEObjects
If Left(CB.Name, 8) = "CheckBox" Then
If CB.Object.Value = True Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Object.Caption
End If
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
Sheets(strWs).Copy
Application.DisplayAlerts = False
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nam, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
nam = nam & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLStrictWorkbook, CreateBackup:= _
False
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
Sheets(1).Select
End Sub

AW: Checkbox Arbeitsblätter speichern
07.12.2020 07:53:30
Ulrich
Hallo Onur,
sehr schön, funktioniert, super.
Schön wäre jetzt noch wenn bei schon vorhandener Datei die Meldung kommt "Datei vorhanden, überschreiben?"
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
07.12.2020 09:55:52
onur
Sobald ich zu Hause bin.
AW: Checkbox Arbeitsblätter speichern
07.12.2020 10:24:45
Ulrich
Hallo Onur,
super, keine Hetze.
Vielleicht kannst du auch noch einmal checken warum die pdf nach dem speichern nicht geöffnet wird.
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
07.12.2020 17:19:23
onur

Private Sub CommandButton3_Click()
Dim CB, i, nam, strWs()
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = ActiveWorkbook.Path & "\" & nam(0)
For Each CB In ActiveSheet.OLEObjects
If Left(CB.Name, 8) = "CheckBox" Then
If CB.Object.Value = True Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Object.Caption
End If
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
Sheets(strWs).Copy
Application.DisplayAlerts = False
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nam, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
nam = nam & "-2"
If Dir(nam & ".xlsx") = "" Then
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLStrictWorkbook, CreateBackup:= _
False
Else
MsgBox "Datei existiert bereits"
End If
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
Sheets(1).Select
End Sub

AW: Checkbox Arbeitsblätter speichern
07.12.2020 18:53:14
Ulrich
Hallo Onur,
danke, aber bei dem Code macht er gar nichts.
Der alte funktioniert
Private Sub CommandButton1_Click()
Dim CB, i, nam, strWs()
nam = ThisWorkbook.Name: nam = Split(nam, "."): nam = ActiveWorkbook.Path & "\" & nam(0)
For Each CB In ActiveSheet.OLEObjects
If Left(CB.Name, 8) = "CheckBox" Then
If CB.Object.Value = True Then
i = i + 1
ReDim Preserve strWs(1 To i)
strWs(i) = CB.Object.Caption
End If
End If
Next CB
ThisWorkbook.Sheets(strWs).Select
Sheets(strWs).Copy
Application.DisplayAlerts = False
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nam, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=  _
_
False
nam = nam & "-2"
ActiveWorkbook.SaveAs Filename:=nam, FileFormat:=xlOpenXMLStrictWorkbook, CreateBackup:= _
False
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
Sheets(1).Select
End Sub

AW: Checkbox Arbeitsblätter speichern
07.12.2020 18:58:04
onur
Ich hatte doch geschrieben, du sollst die Checkboxen (Formularsteuerelement) durch Active-X-Checkboxen ersetzen und dir den neuen Code gepostet.
AW: Checkbox Arbeitsblätter speichern
07.12.2020 19:05:27
Ulrich
ja das habe ich auch gemacht, und damit funktioniert es ja auch.
Aber er weißt nicht auf eine bestehende Datei hin und ob diese überschrieben werden soll.
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
07.12.2020 19:32:08
Ulrich
Hallo Onur,
sorry, geht, ich hatte commandbutton3 nicht in 1 geändert.
Kann man es so machen das die Meldung kommt. ("Datei vorhanden, überschreiben ja...nein...")
muss jetzt kurz weg.
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
07.12.2020 21:09:07
Ulrich
Hallo Onur,
jetzt wird nur noch die pdf gespeichert.
Beim erneuten Aufrufen des Makro kommt auch die Meldung nicht, das die Datei existiert und eventuell überschrieben werden soll.
Kann heute leider nicht weiter am Computer arbeiten.
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:15:34
Ulrich
Ich habe die Datei jetzt in einen anderen Ordner verschoben,
jetzt speichert er wieder? unglaublich.
wie kann das sein?
wie bekomme ich die Abfrage zum Überschreiben wieder hin?
Gruß Ulli
AW: Checkbox Arbeitsblätter speichern
06.12.2020 21:19:48
Ulrich
Jetzt habe ich die erstellten Dateien gelöscht und wollte erneut abspeichern...jetzt macht er wieder nichts mehr.
AW: Checkbox Arbeitsblätter speichern
06.12.2020 16:46:46
onur
oder dass du noch mehr Checkboxen (die nix mit den Blättern zu tun haben) eingefügt hast?
AW: Checkbox Arbeitsblätter speichern
06.12.2020 16:43:29
Ulrich
Laufzeitfehler 9:
Index außerhalb des gültigen Bereichs

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige