Hallo!
Ich habe für eine Excel-Tabelle ein kleines Makro geschrieben, welches folgende Schritte erfüllen soll.
1. Wählt die Zellen xx - yy aus und definiert sie zum Druckbereich
2. markiert diesen Bereich und gibt ihn zum Drucken aus.
3. Druckt
4. springt 4 Zeilen in der Tabelle weiter und führt 1.-3. aus.
5. Führt 1.-4. x vorher definierte Male aus.
Das Makro funktioniert soweit gut. Problem ist aber, dass ich den Druck bei 3. an den Anfang jeweils eines neuen Blattes bekommen. Ich möchte aber AN EINE VORHER DEFINIERTE STELLE im unteren Bereich des Blattes drucken.
Bitte verzeiht meine "einfältige" Programmierweise. Man hätte bestimmt auch eleganter programmieren können. Bin halt nur ein Gelegenheitsprogrammierer.
Hier das Makro:
Sub Spaltendruck()
Dim lAnzahl As String
Dim i As Long
Dim Var1 As Long
Dim Var2 As Long
Dim x As Long
Dim My_Range As String
Anf:
lAnzahl = InputBox("Wie oft soll das Makro laufen ?", , 3)
On Error Resume Next 'enables error handling
'Prüfen ob eine Zahl eingegeben wurde
If IsNumeric(lAnzahl) Then
'if Cancel is chosen then InputBox returns empty string
'Range("A1:D5").Select
'My_Range = InputBox("Enter the name of the area to print:")
'If Err > 0 Then MsgBox "Name or range specified is not valid."
For i = 1 To CLng(lAnzahl)
'Druckmakro
x = i * 4
ActiveSheet.Range(Cells(13, 1), Cells(15, 21)).Offset(x, 0).Select
'Druckbereich festlegen FUNKTIONIERT NICHT
'ActiveSheet.PageSetup.PrintArea = "$A$77:$U$79"
Selection.PrintOut Copies:=1
MsgBox "Makro Start Nr.: " & i
Next i
Else
MsgBox "Bitte ein Zahl eingeben !", vbInformation
GoTo Anf
End If
End Sub
|