HERBERS Excel-Forum - das Archiv

Thema: via VBA keine Samstage und Sonntage drucken

via VBA keine Samstage und Sonntage drucken
Thorsten
Hallo zusammen,

meine VBA Kenntnisse sind gleich 0

möchte das die Arbeitsmappe nur die Blätter ausdruckt, welche keine Samstage und Sonntage in Zelle E2 haben.

nur mit den Sonntagen klappt das super, aber bekomme den Samstag nicht mit darein.

Drücke auf den "Drucken" Button den ich erstellt habe und er druckt alles ohne Sonntage.

Findet sich bestimmt ein Profi, der mir helfen kann

hier mal der Code

Sub s()
If Sheets("01").Range("E2") <> "Sonntag" Then
Sheets("01").PrintOut Copies:=1, Collate:=True
End If
If Sheets("02").Range("E2") <> "Sonntag" Then
Sheets("02").PrintOut Copies:=1, Collate:=True
End If
If Sheets("03").Range("E2") <> "Sonntag" Then
Sheets("03").PrintOut Copies:=1, Collate:=True
End If
If Sheets("04").Range("E2") <> "Sonntag" Then
Sheets("04").PrintOut Copies:=1, Collate:=True
End If
If Sheets("05").Range("E2") <> "Sonntag" Then
Sheets("05").PrintOut Copies:=1, Collate:=True
End If
If Sheets("06").Range("E2") <> "Sonntag" Then
Sheets("06").PrintOut Copies:=1, Collate:=True
End If
If Sheets("07").Range("E2") <> "Sonntag" Then
Sheets("07").PrintOut Copies:=1, Collate:=True
End If
If Sheets("08").Range("E2") <> "Sonntag" Then
Sheets("08").PrintOut Copies:=1, Collate:=True
End If
If Sheets("09").Range("E2") <> "Sonntag" Then
Sheets("09").PrintOut Copies:=1, Collate:=True
End If
If Sheets("10").Range("E2") <> "Sonntag" Then
Sheets("10").PrintOut Copies:=1, Collate:=True
End If
If Sheets("11").Range("E2") <> "Sonntag" Then
Sheets("11").PrintOut Copies:=1, Collate:=True
End If
If Sheets("12").Range("E2") <> "Sonntag" Then
Sheets("12").PrintOut Copies:=1, Collate:=True
End If
If Sheets("13").Range("E2") <> "Sonntag" Then
Sheets("13").PrintOut Copies:=1, Collate:=True
End If
If Sheets("14").Range("E2") <> "Sonntag" Then
Sheets("14").PrintOut Copies:=1, Collate:=True
End If
If Sheets("15").Range("E2") <> "Sonntag" Then
Sheets("15").PrintOut Copies:=1, Collate:=True
End If
If Sheets("16").Range("E2") <> "Sonntag" Then
Sheets("16").PrintOut Copies:=1, Collate:=True
End If
If Sheets("17").Range("E2") <> "Sonntag" Then
Sheets("17").PrintOut Copies:=1, Collate:=True
End If
If Sheets("18").Range("E2") <> "Sonntag" Then
Sheets("18").PrintOut Copies:=1, Collate:=True
End If
If Sheets("19").Range("E2") <> "Sonntag" Then
Sheets("19").PrintOut Copies:=1, Collate:=True
End If
If Sheets("20").Range("E2") <> "Sonntag" Then
Sheets("20").PrintOut Copies:=1, Collate:=True
End If
If Sheets("21").Range("E2") <> "Sonntag" Then
Sheets("21").PrintOut Copies:=1, Collate:=True
End If
If Sheets("22").Range("E2") <> "Sonntag" Then
Sheets("22").PrintOut Copies:=1, Collate:=True
End If
If Sheets("23").Range("E2") <> "Sonntag" Then
Sheets("23").PrintOut Copies:=1, Collate:=True
End If
If Sheets("24").Range("E2") <> "Sonntag" Then
Sheets("24").PrintOut Copies:=1, Collate:=True
End If
If Sheets("25").Range("E2") <> "Sonntag" Then
Sheets("25").PrintOut Copies:=1, Collate:=True
End If
If Sheets("26").Range("E2") <> "Sonntag" Then
Sheets("26").PrintOut Copies:=1, Collate:=True
End If
If Sheets("27").Range("E2") <> "Sonntag" Then
Sheets("27").PrintOut Copies:=1, Collate:=True
End If
If Sheets("28").Range("E2") <> "Sonntag" Then
Sheets("28").PrintOut Copies:=1, Collate:=True
End If
If Sheets("29").Range("E2") <> "Sonntag" Then
Sheets("29").PrintOut Copies:=1, Collate:=True
End If
If Sheets("30").Range("E2") <> "Sonntag" Then
Sheets("30").PrintOut Copies:=1, Collate:=True
End If
If Sheets("31").Range("E2") <> "Sonntag" Then
Sheets("31").PrintOut Copies:=1, Collate:=True
End If
End Sub

AW: via VBA keine Samstage und Sonntage drucken
GerdL
Hallo Thorsten!
Sub Unit()


Dim sh As Integer

For sh = 1 To 31
On Error GoTo fin
With Sheets(Format(sh, "00"))
If .Range("E2") <> "Sonntag" And .Range("E2") <> "Samstag" Then
.PrintOut Copies:=1, Collate:=True
End If
End With
Next

fin:
If Err.Number <> 0 Then Err.Clear

End Sub

Gruß Gerd
AW: via VBA keine Samstage und Sonntage drucken
emkaes
Hallo,

sollte in Range("E2") ein "richtiges" Datum stehen, dann kommst du mit


.....

If Weekday(.Range("E2").Value, vbUseSystemDayOfWeek) <= 5 Then
....


statt dieser Zeile im Code von Gerd
.....

If .Range("E2") <> "Sonntag" And .Range("E2") <> "Samstag" Then
.....


weiter
AW: via VBA keine Samstage und Sonntage drucken
Thorsten
Danke euch beiden, klappt super.

If .Range("E2") <> "Sonntag" And .Range("E2") <> "Samstag" Then

das mit dem Samstag hatte ich auch so ähnlich, aber hatte vergessen das ich nochmal den Range angeben muss.

hatte es so zuerst versucht. ging aber nicht.
If .Range("E2") <> "Sonntag" And <> "Samstag" Then

gerne mal wieder