Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auswahl von Blättern zum drucken per liste

Auswahl von Blättern zum drucken per liste
15.05.2007 20:14:15
Blättern
Hallo zusammen,
ich möchte ohne aufruf des Druckmenues eine Auswahl an Blätern drucken. Das gelingt mir auch schon per macro.
Jetzt würde ich gerne bei click auf meinen Button alle Blätter der Mappe in einem Menü sehen und anklicken/ markieren können welche Blätter gedruckt werden sollen.
Leider zu wenig VBA Fuchs um mir selbst zu helfen. Kann das einer von Euch?
GRuß
Andre

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

Betreff
Datum
Anwender
Anzeige
AW: Auswahl von Blättern zum drucken per liste
16.05.2007 02:57:36
Blättern
Hallo Andre,
in der Datei hab ich eine Lösung eingebaut. Das Ganze funktioniert mit einem kleinen Userform.

Die Datei https://www.herber.de/bbs/user/42509.xls wurde aus Datenschutzgründen gelöscht


Um das Userform in deine Datei zu bekommen öffnest du meine und deine Excel-Datei.
Anschließend öffnest du den VBA-Editor (Tastenkombie Alt+F11 oder via Menü Extras--Makros--usw.).
Im VBA-Editor ziehst du im Projektexplorer per Drag and Drop das Userform UF_Druckauswahl aus meiner in deine Datei.
In den Code deines Buttons fügst du folgende Zeile ein:
UF_Druckauswahl.Show
Die Auswahl der Tabellen im Userform erfolgt mit den gleichen Maustasten-/Tastaturtastenkombinationen wie im Windows-Explorer.
Gruß
Franz

Anzeige
AW: Auswahl von Blättern zum drucken per liste
16.05.2007 12:47:00
Blättern
HI FRanz,
SUPER! das funktioniert bestens!!!
Eine Frage hätte ich noch: das Herzstück der Form ist ja das initialisieren

Private Sub UserForm_Initialize()
'Namen der sichtbaren Tabellen in Listenauswahl einlesen
With Me.ListBox_Tabellen
.Clear
For Each Blatt In ActiveWorkbook.Sheets
If Blatt.Visible = xlSheetVisible Then
.AddItem Blatt.Name
End If
Next
End With
End Sub


in Deiner Userform bekomme ich dann alle sichtbaren Blätter der Mappe angezeigt. Könnte ich auch eine Vorauswahl der zu druckenden Blätter machen?
Also in meiner Mappe schon eine Liste aller Blätter und in der Spalte daneben ein Kreuz oder j schreiben und dann die mit Kreuz oder j gekennzeichneten Blattnamen bei Aufruf der USerform schon mrkiert haben?
Also bei der Initialisierung eine Abfrage dieser zusätzlichen Spalte einbauen?
Wäre für einen Hinweis dankbar.
GRuß
Andre

Anzeige
AW: Auswahl von Blättern zum drucken per liste
17.05.2007 09:40:00
Blättern
Hallo Andre,
dann müsstest Du irgendwo in Deiner Mappe eine Liste mit den Blattnamen speichern und daneben die Auswahl. Dann gehst Du nicht die
For Each Blatt In ActiveWorkbook.Sheets
durch sondern im Prinzip so:

Private Sub UserForm_Initialize()
For i = 1 To 5
ListBox1.AddItem Sheets("Tabelle1").Cells(i, 1)
If Sheets("Tabelle1").Cells(i, 2) = "x" Then _
ListBox1.Selected(ListBox1.ListCount - 1) = True
Next
End Sub


Hoffe geholfen zu haben Grüße von André aus Gera - Stadt der Buga 2007 - Excel-97-2003

Anzeige
AW: Auswahl von Blättern zum drucken per liste
18.05.2007 09:56:00
Blättern
Danke Euch beiden, Andre und FRanz, werde das heute mal checken und sehen, ob ich das umsetzen kann.
Gruß
Adnre

AW: Auswahl von Blättern zum drucken per liste
17.05.2007 11:53:25
Blättern
Hi Andre,
dies ist grundsächlich möglich. Wenn die Vorauswahl immer identisch ist und sich die Namen der Tabellen nicht ändern dann kann man das direkt in die Initialisierungsprozedur einbauen.
z.B.

Private Sub UserForm_Initialize()
'Namen der sichtbaren Tabellen in Listenauswahl einlesen
With Me.ListBox_Tabellen
.Clear
For Each Blatt In ActiveWorkbook.Sheets
If Blatt.Visible = xlSheetVisible Then
.AddItem Blatt.Name
End If
Next
'Auswahlmodus für Liste festlegen _
bei einer Vorauswahl ist es besser wenn man einzelne Tabellen _
dazu-/abwählen kann ohne versehentlich die Vorauswahl aufzuheben. _
Deshalb die folgende Zeile oder unter Eigenschaften für die Listbox _
die Einstellung ändern.
.MultiSelect = fmMultiSelectMulti
'Tabellen vorauswählen, Zählung beginnt bei 0
For i = 0 To .ListCount - 1
Select Case .List(i, 0)
Case "TabHoch", "TabQuer (2)"
'Namen der Tabellen in der Vorauswahl
.Selected(i) = True
Case Else
.Selected(i) = False
End Select
Next
End With
End Sub


Fall du die Vorauswahl flexibel haben möchtest oder sich die Tabellennamen ändern, dann solltest du das Ganze ein wenig anders aufbauen.
In der Tabelle mit dem Druckbutton werden in einem Tabellenbereich die Namen der sichtbaren Tabellen eingetragen und die vorauszuwählenden markiert. Diesem Tabellenbereich (2 Spalten breit) gibts du einen Bereichsnamen z.B. ListeTabellen. Für die Listbox im Userform kannst du dann diesen Tabellenbereich direkt als RowSource angeben. In der Initiallisierungsprozedur muss du dann "nur" noch für die Vorauswahl die Markierungen überprüfen. Falls sich Namen und/oder Anzahl der Tabellen häufig ändern, dann sollte das Aktualisieren der Tabellenliste inkl. Bereich des Namens ebenfalls per Makro durchgeführt werden. Auch um ggf. Schreibfehler bei den Tabellennamen zu vermeiden. Ich hab in der Datei die Tabelle und das Userform entsprechend angepasst.
Für die Übernahme in deine Datei zuerst den Bereich mit den Tabellennamen festlege (manuell oder mit dem Makro), dann das Userfom übernehmen. ggf. vorher das Userform in deiner Date löschen oder umbenennen.

Die Datei https://www.herber.de/bbs/user/42525.xls wurde aus Datenschutzgründen gelöscht


Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige