Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

nur bestimmte Blaetter per VBA drucken

Betrifft: nur bestimmte Blaetter per VBA drucken von: Andreas
Geschrieben am: 11.08.2014 10:31:14

Hallo,

ich habe eine Arbeitsmappe mit x Blaettern und manche von denen sind ausgeblendet.
Ich habe eine userform mit einer druckerauswahl. Nun moechte ich gerne die ausgeblendeten Blaetter mit CommandButton1 ausdrucken, aber nur wenn diese in Zelle "A4" Daten enthalten.

Kann mir vielleicht jemand bei dem fehlenden Code helfen? Leider reichen meine VBA Kenntnisse nicht, um mit Loop in ein Array die ausgeblendeten mit Daten in A4 zu schreiben.

Vielen Dank,

Andreas

Hier die Datei. Ich habe Kommentar an die Stelle gesetzt wo ich nicht weiter komme.

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

  

Betrifft: AW: nur bestimmte Blaetter per VBA drucken von: Daniel
Geschrieben am: 11.08.2014 10:53:45

Hi

Im Prinzip so:

dim sh as Worksheet
For each sh in activeworkbook.worksheets
    if sh.visible <> xlsheetvisible then if sh.cells(4, 1) <> "" then sh.printout
Next
Gruß Daniel


  

Betrifft: das will ich sehen, ... von: Rudi Maintaire
Geschrieben am: 11.08.2014 11:07:55

Hallo,
... wie du ein ausgeblendetes Blatt druckst.

Gruß
Rudi


  

Betrifft: Ausgeblendete... von: Case
Geschrieben am: 11.08.2014 11:10:50

Hallo, :-)

... Tabellenblätter müssen zum ausdrucken erst eingeblendet werden - dann einfach wieder ausblenden.

Servus
Case



  

Betrifft: AW: Ausgeblendete... von: Andreas
Geschrieben am: 11.08.2014 11:27:40

Ich glaube ich lasse die Blaetter eingeblendet, da ich nicht herausfinde, wie man alle ausgeblendete Blaetter aktualisiert (sie werden bei Aktivierung automatisch mit Daten gefuellt).

Das Drucken von sichtbaren Blaettern in Abhaengigkeit zum Inhalt der jeweiligen Zellen A1 klappt!

Danke


  

Betrifft: AW: Ausgeblendete... von: fcs
Geschrieben am: 11.08.2014 11:31:43

Hallo Andreas,

hier ein angepasster Code für die Schaltfläche.
Es werden alle zutreffenden ausgeblendeten Blätter eingeblendet, in einem Druckjob gedruckt und wieder ausgeblendet.

Gruß
Franz

Private Sub CommandButton1_Click()
  Dim sOldPrinter As String
  Dim arrSheets() As String, intSh As Integer
  Dim wks As Worksheet, sheetAktiv As Object
  sOldPrinter = Application.ActivePrinter ' Alten Drucker merken
  Set sheetAktiv = ActiveSheet 'aktives Blatt merken
  
  On Error GoTo Fehler:
  If ComboBox1.ListIndex = -1 Then
     MsgBox "Kein Printer gewählt", vbExclamation
     Exit Sub
  End If

'############################################################################################### _
########################
'hier sollen ausgeblendete Blaetter gedruckt werden, aber nur wenn in den jeweiligen Blaettern  _
in "A4" Daten existieren
  For Each wks In ActiveWorkbook.Worksheets
     If wks.Visible <> xlSheetVisible Then
       If wks.Range("A4") <> "" Then
         intSh = intSh + 1
         ReDim Preserve arrSheets(1 To intSh)
         arrSheets(intSh) = wks.name
         wks.Visible = xlSheetVisible
       End If
     End If
  Next
  If intSh > 0 Then
    ActiveWorkbook.Sheets(arrSheets).PrintOut , , , , ComboBox1.Text ' auf den gewünschten  _
Drucker drucken
  Else
    MsgBox "Keine ausgeblendeten Blätter mit Wert in A4 gefunden"
  End If
'############################################################################################### _
########################

Aufraeumen:
  'gedruckte Blätter wieder ausblenden
  If intSh > 0 Then
    For intSh = 1 To UBound(arrSheets)
      ActiveWorkbook.Sheets(arrSheets(intSh)).Visible = xlSheetHidden
    Next
  End If
  sheetAktiv.Activate 'gemerktes Blatt wieder aktivieren
  
  Application.ActivePrinter = sOldPrinter ' Wieder zurücksetzen
  Unload Me  'Userform schließen
  Exit Sub
Fehler:
  MsgBox Err.Description
  Resume Aufraeumen


End Sub



  

Betrifft: AW: Ausgeblendete... von: Andreas
Geschrieben am: 11.08.2014 11:41:48

Wow

vielen Dank Franz,

das hilft mir schon einmal sehr mich in VBA reinzufuchsen.
Super Danke!


 

Beiträge aus den Excel-Beispielen zum Thema "nur bestimmte Blaetter per VBA drucken"