Meine Tabelle hat 200 Registerkarten von denen ich immer nur einen Teil ausdrucken bez. in einer PDF speichern muss .
Ich suche ein Makro das mir die Registerkarten auswählt, wenn in der Zelle N31 ein Höherer wert als 0,00 Steht .
Sub RegisterkartenAuswählen()
Dim ws As Worksheet
Dim selectedSheets As String
' Durchlaufe alle Arbeitsblätter
For Each ws In Worksheets
' Überprüfe, ob der Wert in Zelle N31 größer als 0 ist
If ws.Range("N31").Value > 0 Then
' Füge den Namen des Arbeitsblatts zur Liste der ausgewählten Registerkarten hinzu
selectedSheets = selectedSheets & ws.Name & ","
End If
Next ws
' Entferne das letzte Komma aus der Liste
selectedSheets = Left(selectedSheets, Len(selectedSheets) - 1)
' Überprüfe, ob mindestens eine Registerkarte ausgewählt wurde
If Len(selectedSheets) > 0 Then
' Zeige eine Benachrichtigung an
MsgBox "Folgende Registerkarten wurden ausgewählt: " & selectedSheets
Else
' Zeige eine Benachrichtigung an, wenn keine Registerkarte ausgewählt wurde
MsgBox "Es wurden keine Registerkarten ausgewählt."
End If
End Sub
Sub Drucken()
Dim TB As Worksheet, Pfad As String, Ext As String
Pfad = "D:\Excel\temp\" 'mit \ am Ende
Ext = ".pdf"
For Each TB In ThisWorkbook.Sheets
If TB.Range("N31") > 0.01 Then
'Pdf
TB.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Pfad & TB.Name & Ext _
, OpenAfterPublish:=False
'oder Drucken
TB.PrintOut
End If
Next
End Sub
Sub Markieren()
Dim TB As Worksheet, Pfad As String, Ext As String
For Each TB In ThisWorkbook.Sheets
If TB.Range("N31") > 0.01 Then
'sel
TB.Select Replace:=False
End If
Next
End Sub
' Überprüfe, ob mindestens eine Registerkarte ausgewählt wurde
If Len(selectedSheets) > 0 Then
' Entferne das letzte Komma aus der Liste
selectedSheets = Left(selectedSheets, Len(selectedSheets) - 1)
' Zeige eine Benachrichtigung an
MsgBox "Folgende Registerkarten wurden ausgewählt: " & selectedSheets
Else
' Zeige eine Benachrichtigung an, wenn keine Registerkarte ausgewählt wurde
MsgBox "Es wurden keine Registerkarten ausgewählt."
End If