Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1664to1668
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

Drucken, wenn...

Drucken, wenn...
22.12.2018 18:20:58
AL
Hallo zusammen,
ich würde gerne Tabellenblätter (AUSGABE1, AUSGABE2, AUSGABE3) über ein Makro drucken lassen, die ausgeblendet sind (xlSheetVeryHidden). In diesen Tabellenblättern habe ich bereits Druckbereiche festgelegt.
Der Druck der Tabellenblätter soll nur dann erfolgen, wenn in Zelle A16 der jeweiligen Tabellenblätter etwas steht. Die zu druckenden Blätter sollen dann zusammen gedruckt werden, bspw. wenn der Benutzer als PDF drucken will, soll eine einzige Datei erzeugt werden.
Ich habe mit meinen begrenzten Programmierkenntnissen das Folgende zusammengestellt, das leider noch nicht so richtig funktionieren will. Momentan wollen alle Tabellenblätter einzeln gedruckt werden, und das auch obwohl in A16 nichts steht (außer einer Formel, die ""-leer wiedergibt) ...
Sub DruckAUSGABEN()
Dim wks As Worksheet, arrWks, W As Integer
arrWks = Array("AUSGABE1", "AUSGABE2", "AUSGABE3")
For Each wks In ThisWorkbook.Worksheets
For W = 0 To UBound(arrWks)
If wks.Name = arrWks(W) Then
If wks.Range("A16")  "" Then
Application.Dialogs(xlDialogPrint).Show
End If
End If
Next W
Next wks
End Sub
Hat jemand eine Idee?
Danke.

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

Betreff
Datum
Anwender
Anzeige
AW: Drucken, wenn...
22.12.2018 18:54:11
Sepp
Hallo Al,
Sub DruckAUSGABEN()
  Dim varSheets As Variant, lngI As Long
  
  varSheets = Array("AUSGABE1", "AUSGABE2", "AUSGABE3")
  
  For lngI = 0 To Ubound(varSheets)
    If Worksheets(varSheets(lngI)).Range("A16") <> "" Then
      Worksheets(varSheets(lngI)).Select IIf(lngI = 0, True, False)
    End If
  Next

  Application.Dialogs(xlDialogPrint).Show
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Drucken, wenn...
22.12.2018 19:29:20
onur
Hi Sepp,
Dein Code ist schön kompakt, hat jedoch das Problem, dass er auch was druckt, wenn nix ausgedruckt werden soll, da in allen 3 Blättern A16 leer ist.
Sorry - soll ein Hinweis und keine Kritik sein - ist mir nur aufgefallen, da ich ihn aus Neugier mal getestet habe.
Gruß
Onur
Stimmt und...
22.12.2018 19:37:07
Sepp
Hallo Onur.
... das mit den ausgeblendeten Blättern habe ich auch überlesen ;-))
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Stimmt und...
22.12.2018 19:40:39
onur
Trotzdem elegant gelöst - das mit ".Select(false)" habe ich auch noch nicht gewusst.
Gruß
Onur
AW: Drucken, wenn...
22.12.2018 19:01:38
onur

Dim wks, i, ii, Arr, found
found = 0
For i = 0 To 2
ii = Trim(Str(i + 1))
If Sheets("AUSGABE" & ii).Cells(16, 1)  "" Then
If found = 0 Then
ReDim Arr(found)
Else
ReDim Preserve Arr(found)
End If
Arr(found) = "AUSGABE" & ii
found = found + 1
End If
Next
If IsEmpty(Arr) Then Exit Sub
For Each wks In Sheets(Arr)
wks.Visible = True
Next
Sheets(Arr).Select
Application.Dialogs(xlDialogPrint).Show
For Each wks In Sheets(Arr)
wks.Visible = xlVeryHidden
Next

Anzeige
AW: Drucken, wenn...
23.12.2018 11:06:24
AL
Hallo onur,
genau dieses Makro habe ich gesucht. Danke dir für die schnelle Hilfe!
Schönen Sonntag noch.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige