Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
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 Drucken Auswahl Tabellenblätter

Makro Drucken Auswahl Tabellenblätter
20.02.2017 09:31:57
Petra
Hallo zusammen,
kämpfe mit folgendem Problem:
Auf einer zentralen Eingabeseite habe ich vorgesehen, auswählen zu können, welches Tabellenblatt per Seitenansicht geöffnet werden soll. Klappt alles wunderbar.
Wähle ich jetzt mehrere Tabellen für die Seitenansicht aus, werden die nicht zusammen angezeigt, sondern jede Tabelle einzeln. Umständlich muss dann für jede Tabelle der Drucker ausgewählt, anschließend für diese Tabelle die Seitenansicht geschlossen werden und so geht das Tabelle für Tabelle.
Frage: Gibt es eine Lösung, die die Auswahl von mehreren Tabellen in einer Seitenansicht ermöglicht?
Ja, ich weiß, STRG und Tabelle auswählen und Seitenansicht aufrufen geht einfacher, allerdings würde ich den Usern der Datei das gerne auf einer zentralen Tabelle ermöglichen wollen. :-)
Vielleicht kann mir ja jemand helfen.
Vielen Danke dafür.
Gruß
Petra
So sieht das Makro aus:

Sub Druck_Auswahl()
If Sheets("Dateneingabe").Range("U38")  "" Then
Sheets("Tabelle1").PrintPreview
Application.ScreenUpdating = False
End If
If Sheets("Dateneingabe").Range("U40")  "" Then
Sheets("Tabelle2").PrintPreview
Application.ScreenUpdating = False
End If
If Sheets("Dateneingabe").Range("U42")  "" Then
Sheets("Tabelle3").PrintPreview
Application.ScreenUpdating = False
End If
End Sub
usw.......


		

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Drucken Auswahl Tabellenblätter
20.02.2017 10:17:47
ChrisL
Hi Petra
https://www.herber.de/bbs/user/111594.xlsm
Sub t()
Dim rngBereich As Range
Dim letzteZeile As Long, i As Long
Dim iCounter As Integer
With Worksheets("Übersicht")
letzteZeile = .Cells(Rows.Count, 21).End(xlUp).Row
Set rngBereich = .Range("U38:U" & letzteZeile)
ReDim ar(WorksheetFunction.CountA(rngBereich) - 1)
For i = 38 To letzteZeile Step 2
If .Cells(i, 21)  "" Then
ar(iCounter) = "Tabelle" & (i - 36) / 2
iCounter = iCounter + 1
End If
Next i
End With
Sheets(ar).PrintPreview
End Sub

cu
Chris
Anzeige
AW: Makro Drucken Auswahl Tabellenblätter
20.02.2017 11:39:50
Petra
Hallo Chris,
danke für deine Hilfe.
Dein Makro funktioniert super, allerdings nur dann, wenn ich meine Tabellenblätter genau so benenne und auf fünf Auswahlzellen x) begrenze, wie in deiner Beispieldatei.
Wenn ich bei meiner Datei die Tabellenblätter (insgesamt neun) mit spezifischen Nammen benenne, kommt die Fehlermeldung
Laufzeitfehler "9"
Index auserhalb des gültigen Bereichs

Da meine VBA-Kenntnisse nur sehr begrenzt sind, kann ich dein Makro leider nicht wirklich auf meine Bedürfnisse anpassen. :-(
Würde gerne nochmal deine Hilfe in Anspruch nehmen wollen.
Gruß
Petra
Anzeige
AW: Makro Drucken Auswahl Tabellenblätter
20.02.2017 12:28:30
ChrisL
Hi Petra
Wenn die Blätter anders benannt sind, wie soll "der Computer" dann wissen, welches Blatt aktiviert werden muss. Erstelle bitte eine konkrete Beispieldatei, dann dürfte es klar werden.
cu
Chris
AW: Makro Drucken Auswahl Tabellenblätter
20.02.2017 13:50:26
Petra
Hi Chris,
sorry, leider kann ich dir derzeit keine Beispieldatei hochladen (Firmenrechner Upload gesperrt).
Deshalb ein Versuch einer Beschreibung.
Die Namen der Tabellen lauten:
Dateneingabe = Auswahl der Tabelle(n)für die Seitenansicht(in der Spalte U / Zellen U38 - U46 = Auswahl mit "X") anschließend mit Button (Makro zugewiesen) Seitenansicht starten
Mitarbeiter
Planung
Monatsübersicht
Jahresübersicht
Lagerbestand
Bestellung
Umwelt
Fehlbestand
Urlaub
Hoffe, du kannst damit etwas anfangen.
Danke für deine Geduld.
Gruß
Petra
Anzeige
AW: Makro Drucken Auswahl Tabellenblätter
20.02.2017 15:39:21
ChrisL
Hi Petra
Übersicht!T38:T46 = Blattnamen
Übersicht!U38:U46 = "x"
Sub t()
Dim rngBereich As Range, rng As Range
Dim iCounter As Integer
With Worksheets("Übersicht")
Set rngBereich = .Range("U38:U46")
ReDim ar(WorksheetFunction.CountA(rngBereich) - 1)
For Each rng In rngBereich
If rng  "" Then
ar(iCounter) = rng.Offset(, -1)
iCounter = iCounter + 1
End If
Next rng
End With
Sheets(ar).PrintPreview
End Sub

cu
Chris
AW: Makro Drucken Auswahl Tabellenblätter
20.02.2017 18:27:19
Petra
Hallo Chris,
dein Makro funktioniert perfekt. Ich bin begeistert.
Hiermit verleihe ich dir drei goldene Sterne. :-
Herzlichen Dank für deine Hilfe und für deine Geduld.
LG
Petra
Anzeige

82 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige