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

Hilfe bei Erstellen einer Userform

Forumthread: Hilfe bei Erstellen einer Userform

Hilfe bei Erstellen einer Userform
15.07.2025 17:40:20
Patrick Hummelbeck
Hallo Excel/VBA-Gemeinde ;-)

Ich habe da mal ein Problem was ich per Google etc. nicht lösen konnte bis jetzt. Ich habe ein Excel Arbeitsblatt, auf dem es ca. 65 Tabellenblätter gibt. Ich habe ein Tabellenblatt, was als Masterblatt gilt. Alle Eingaben werden auf den anderen Tabellenblättern übernommen. Soweit so gut. Ich habe in VBA auch Makros geschrieben, wo ich z.B. alle Daten auf dem Masterblatt lösche und dieses verknüpft mit einem Button (Bild von einem Papierkorb). Funktioniert einwandfrei. Jetzt hatte ich die Idee, mit einem weiteren Button (diesmal ein PDF-Icon) bestimmte Tabellenblätter auszuwählen und dann als PDF zu exportieren. Hierfür habe ich eine User Form kreiert, die sich auch schon öffnet, bei Klick auf das PDF-Icon. Was weiter auch schon auf der User Form funktioniert, ist ein Commandbutton der mir das Fenster einfach wieder schließt. Nun das eigentliche Problem!!!! Ich habe eine Combobox, wo ich gerne die Tabellenblätter auswählen möchte, die ich dann exportieren kann. Wie zum Hänker mache ich dies??? Ich habe mich schon Stundenlang durchs Netz gesucht, aber nicht wirklich was gefunden. Vielleicht geht es so ja auch gar nicht. Ich habe einfach keine Ahnung.

Ach ja. Ein Makro mit einem PDF-Icon, wo ich ich alle Tabellenblätter exportiere, habe ich geschrieben was funktioniert. Ich möchte aber auch einzelne Tabellenblätter (z.B. Wochenweise) exportieren. Daher gerne mit einer User Form.........

Kann mir bitte jemand helfen? Ich bin KEIN Informatiker, daher wären leicht zu verstehende Antworten echt cool ;-).............. gerne auch mit Bildern oder so

Ich habe eine Beispieldatei mal mit hochgeladen und hoffe, dass man da alles erkennen kann

https://www.herber.de/bbs/user/178086.xlsm

Beste Grüße aus dem Norden Deutschlands
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Erstellen einer Userform
15.07.2025 17:55:37
Alwin Weisangler
Hallo,

um die Combobox mit den Namen der Tasbellenblätter zu füllen wäre so:


Private Sub UserForm_Initialize()
Dim Wks As Worksheet
For Each Wks In ThisWorkbook.Sheets
Box1.AddItem Wks.Name
Next
End Sub

Allerdings wäre es sinnvoller, wenn mehrere Tabellenblätter ausgewählt werden sollen dies besser mit einer Listbox via MultiSelect zu machen.


Private Sub UserForm_Initialize()
Dim Wks As Worksheet
ListBox1.MultiSelect = 1
For Each Wks In ThisWorkbook.Sheets
ListBox1.AddItem Wks.Name
Next
End Sub


Gruß Uwe
Anzeige
AW: Hilfe bei Erstellen einer Userform
15.07.2025 18:20:34
daniel
Hi

Setze für die Listbox die Eigenschaft "Multiselect" auf eine der beiden Multiselect-Varianten

zum einlesen der der Sheets in die Listbox im Initialize-Event der Userform:

dim sh as worksheet

for each sh in thisworkbook.Worksheets
listbox1.additem sh.name
next


um dann die gewählten Blätter auszuwählen verwende folgende Schleife in der Userform:
dim i as long

dim Check as boolean
check = True
for i = 0 to listbox1.listcount - 1
if Listbox1.selected(i) then
Thisworkbook.Sheets(listbox1.list(i)).Select Check
Check = False
end if
next


über das Check steuerst du, ob bei Selektion eines Blattes das zuletzt selektierte Blatt deselektiert wird (True) oder ob eine Gruppe mit mehreren Blättern gebildet wird (False)
beim ersten Durchlauf noch False, damit nur die Blätter gedruckt werden, die du ausgewählt hast und nicht das aktive von dem du das Makro startest, ab dem zweiten dann Gruppenbildung.

danach kannst du dann deinen Export ausführen

Gruß Daniel
Anzeige
Im Anhang ist...
16.07.2025 12:38:04
Case
Moin Patrick, :-)

... eine Möglichkeit mit einer ListBox: ;-)
https://www.herber.de/bbs/user/178091.xlsb

Pfad- und Dateiname musst du anpassen (ist im Moment der gleiche Pfad wie die Datei mit dem Makro). ;-)

Servus
Case

Komme aus der schönsten Stadt an der Schlei. ;-)
Anzeige
AW: Im Anhang ist...
16.07.2025 13:07:32
Patrick Hummelbeck
Hey Case,

danke für deine Antwort :-)

Ich habe den code geöffnet und da ist ne menge mehr drin als ich verstehe "hahaha".

Wo genau muss ich da den Zielpfad für die PDF eingeben? Und speichert der code mir die PDF als eine Datei oder jedes Blatt separat? Ich hätte die ausgewählten Blätter gerne in einer PDF. Und sie soll einfach nur "Neu" heißen

oh man. Ich habe echt noch viel zu lernen :-O
Anzeige
So würde er...
16.07.2025 13:14:20
Case
Moin Patrick, :-)

... auf dem Desktop des aktuellen Benutzers speichern: ;-)
ActiveSheet.ExportAsFixedFormat 0, Environ("USERPROFILE") & "\Desktop\Neuer Monat.pdf", , , , , , False


Die andere Codezeile rauslöschen. ;-)

Servus
Case
Anzeige
AW: So würde er...
16.07.2025 14:45:32
Patrick Hummelbeck
Hey Leute.

Danke an euch für die Unterstützung.
Mit eurer Hilfe habe ich es nun hinbekommen und es funktioniert genauso, wie ich es mir vorgestellt habe.

Vielen Dank euch.

AW: Hilfe bei Erstellen einer Userform
16.07.2025 11:41:00
Patrick Hummelbeck
Hallo Daniel,

Top. Ich danke dir......... Aber irgendwie funktioniert das nicht so richtig. Ist mit Sicherheit ein Fehler von dem der vor dem Monitor sitzt :-D

Private Sub UserForm_Initialize()

Dim Wks As Worksheet
ListBox1.MultiSelect = 1
For Each Wks In ThisWorkbook.Sheets
ListBox1.AddItem Wks.Name
Next

Dim i As Long
Dim Check As Boolean
Check = True
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
ThisWorkbook.Sheets(ListBox1.List(i)).Select Check
Check = False
End If

End Sub

Das ist mit sicherheit nicht richtig?
Anzeige
AW: Hilfe bei Erstellen einer Userform
16.07.2025 12:10:41
daniel
naja, die aufgabe besteht aus zwei Teilen:
1. die vorhandenen Blätter müssen in die Listbox eingelesen werden
2. nachdem man die zu druckenden Blätter in der Listbox ausgewählt hat, müssen diese als Gruppe ausgewählt werden.

Schritt 1 muss ins Initilalize-Event der Userform
Schritt 2 muss dann das Click-Event des Buttons, den du dafür vorgesehen hast, den Druck zu starten.

dass der Schritt 2 nicht zusammen mit Schritt 1 in ein und dasselbe Makro gepackt werden kann, sollte eigentlich logisch sein, wenn man sich den Ablauf vorstellt, wie das ganze funktionieren soll.

Gruß Daniel
Anzeige
AW: Hilfe bei Erstellen einer Userform
16.07.2025 12:24:17
Patrick Hummelbeck
Da hast du natürlich recht.

Meine vba Kenntnisse sind echt schwindend gering. Ich versuche mich da gerade ein wenig rein zu fuchsen.
Könntest du mir genau sagen, wo ich den zweiten Part eingeben muss? Und dann möchte ich ja auch mit einem Commandbutton die ausgewählten Dateien aus der List box als pdf speichern? Das wäre dann ja noch Premium.
Anzeige
AW: Hilfe bei Erstellen einer Userform
16.07.2025 13:08:09
daniel
naja, ich sehe ein Forum jetzt nicht als das Mittel zur Grundlagenschulung.

du musst im VBA-Editor restmal die Seite der Userform öffnen.
dann machst du einen Rechtsklick auf den Button, der das Drucken auslösen soll und wählst "Code anzeigen".
in das Makro, dass dann automatisch erstellt wird, muss der Code zum Selektieren der Sheets, die du in der Listbox ausgewählt hast.
dann musst du noch die Codezeile zum Speichern als PDF hinzufügen, aber die kannst du ja aus dem Code kopieren, den du bisher verwendest.

Gruß Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige