Herbers Excel-Forum - das Archiv

Makro drucken vereinfachen

Bild

Betrifft: Makro drucken vereinfachen
von: Gisela

Geschrieben am: 18.12.2006 21:48:32
Hallo zusammen,
ich muß Ausdrucke entsprechend den Einträgen einer Spalte vornehmen.
Mit meinen bescheidenen Kenntnissen sieht das so aus und funktioniert auch.
Wer kann mir sagen, wie ich das vereinfachen kann. Es geht um ca. 50 Ausdrucke. Die Namen stehen in Spalte IV und müssen auf der ausgedruckten Seite in E1 stehen.
Hier ein Auszug aus meinem jetzigen Makro:
Sub drucken()
[IV26].Copy
[E1].PasteSpecial (xlPasteValues)
If ActiveCell <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
[IV27].Copy
[E1].PasteSpecial (xlPasteValues)
If ActiveCell <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
[IV28].Copy
[E1].PasteSpecial (xlPasteValues)
If ActiveCell <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
[IV29].Copy
[E1].PasteSpecial (xlPasteValues)
If ActiveCell <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
[IV30].Copy
[E1].PasteSpecial (xlPasteValues)
If ActiveCell <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
End If
End If
End If
End If
End If
End Sub

Wie oben schon beschrieben, hab ich das jetzt 50x im Makro stehen.
Geht das auch kürzer? Wenn ja, wie?
Vielen Dank für jede Hilfe
Liebe Grüße
Gisela
Bild

Betrifft: AW: Makro drucken vereinfachen
von: chris b

Geschrieben am: 18.12.2006 21:54:18
Hallo Gisela,
hilft dir das weiter ?
Sub drucken()
For x = 26 To 100
Cells(x, 256).Copy
[E1].PasteSpecial (xlPasteValues)
If ActiveCell <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Next
End Sub

Makro einfügen in ein ganz normales Codemodul.
gruß Chris
Bild

Betrifft: Vielen Dank und liebe Grüße, o.T.
von: Gisela
Geschrieben am: 18.12.2006 22:06:11
o
Bild

Betrifft: AW: Makro drucken vereinfachen
von: Georg

Geschrieben am: 18.12.2006 21:59:59
Hallo Gisela, versuch es mal damit
Sub drucken()
Dim x, max As Integer
max = 50 'Maximale Anzahl der Druckseiten
For x = 1 To max '1 ist die erste Zeile (falls 26 die erste ist dann hier mit 26 beginnen und max + 26!)
Range("D" & x).Copy
Range("E1").PasteSpecial (xlPasteValues)
If Range("D" & x).Value <> "" Then ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next
End Sub

lg, Georg
Bild

Betrifft: Vielen Dank und liebe Grüße, o.T.
von: Gisela
Geschrieben am: 18.12.2006 22:06:44
o
 Bild
Excel-Beispiele zum Thema "Makro drucken vereinfachen"
Mehrbereichsauswahl auf eine Seite drucken. Sichtbare Blätter drucken
Automatische Datumformatierung unterdrücken Bestätigung beim Speichern unterdrücken.
Kopfzeile in Buchform drucken In einem Dialog ausgewählte Spalten drucken
Codeblatt mit Rändern drucken Mehrfachauswahl im Hoch- und Querformat drucken
Tabellenblätter in umgekehrter Reihenfolge drucken Alle Dateien eines Verzeichnisses drucken