Hallo Zusammen,
ich möchte mir für meinen Drucker eine Druckreihenfolge per Makro generieren lassen, so dass ich diese dann in den Druckeinstellungen reinkopieren kann. Es geht dabei darum, dass ich keinen Duplexdrucker habe, aber vier Folien auf eine Seite und das Blatt selbst beidseitig bedrucken will. Da kommt man dann leider in den Einstellungen mit "alle geraden/ungeraden Seiten drucken" nicht weiter. Per Hand ist es mir zu doof, weil ich öfters größere Skripte ausdrucken muss. Also dachte ich an ein Marko:
Private Sub CommandButton1_Click()
Dim MaxSeitenan As Integer
Dim Ausgabe As String
Dim Seiten() As Integer
Dim i As Integer
Dim Z As Integer
MaxSeitenan = InputBox("Bitte die Gesamtseitenanzahl eingeben")
'Herausfinden der Folienseitenzahlen für die Vorderseiten'
S = MaxSeitenan
T = (S Mod 8)
If S - T = 0 Then
Anzahl = S - (S Mod 4)
ElseIf T <= 4 Then
Anzahl = ((S - T) / 8) * 4 + T
Else
Anzahl = ((S - T) / 8) * 4
End If
'Array erstellen mit den Seitenzahlen, die auf der Vorderseite der Blätter sein werden'
ReDim Seiten(1 To Anzahl)
Z = 1
For i = 1 To MaxSeitenan
If (i Mod 8) > 0 And (i Mod 8) <= 4 Then
'anscheinend mein Problem'
Seiten(Z) = i
End If
Z = Z + 1
Next i
'Ausgabe aller Folien für die Vorderseiten der Blätter'
Ausgabe = ""
For i = 1 To Anzahl
If Ausgabe = "" Then
Ausgabe = Seiten(i)
Else
Ausgabe = Ausgabe & "," & Seiten(i)
End If
Next i
Range("A1").Value = Ausgabe
End Sub
Bis zur Eingabe von 4 und auch bis 8 geht das Ganze. Gebe ich allerdings 9 ein, bricht er bei "Seiten(Z) = i", mit der Fehlermeldung "Laufzeitfehler 9: Indexnummer außerhalb des gültigen Bereichs" ab.
Hat jemand eine Idee? Ich hänge da jetzt schon seit 5h dran.
Danke schon mal im Voraus!
Grüße
Marc
|