Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: Wiiinnniii am Februar 17, 2016, 14:48:52 Nachmittag

Titel: VBA - Range "zusammenbasteln"
Beitrag von: Wiiinnniii am Februar 17, 2016, 14:48:52 Nachmittag
Hallo zusammen,

ich bin neu hier. Vielleicht könnt ihr mir weiterhelfen.

Mit folgendem Code drucke ich einen Markierten Bereich einer Tabelle in Excel 2010 per Makro aus:

Zitat
Sub Druck()
    Range("B1:I240").Select
    Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub

Wie kann ich die Anzahl der auszudruckenden Zeilen variabel gestalten?
Ich glaube in etwa so, nur kenn ich die Syntax nicht:

Zitat
Sub Druck()
    Dim zeilen As Integer
    zeilen = 50

    Range("B1:I[zeilen]").Select
    Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub

Könnt ihr bitte helfen ? Danke !!!

Gruß
vom Winni

Titel: Antw: VBA - Range "zusammenbasteln"
Beitrag von: gmg-cc am Februar 17, 2016, 14:54:46 Nachmittag
Moin,

du bist ganz dicht dran!
(ungetestet)
Sub Druck()
    Dim zeilen As Integer
    zeilen = 50
    Range("B1:I" & zeilen).Select
    Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub

Es gibt auch andere, vielleicht "elegantere" Wege, aber so bist du der isherigen Version am nächsten  ;)
Titel: Antw: VBA - Range "zusammenbasteln"
Beitrag von: Wiiinnniii am Februar 17, 2016, 15:05:01 Nachmittag
Danke gmg-cc für die schnelle Antwort:

die Zeile
Zitat
Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
(Code stammt vom Makrorekorder)
macht leider Probleme! ("Anwendungs- oder objektdefinierter Fehler")

Titel: Antw: VBA - Range "zusammenbasteln"
Beitrag von: gmg-cc am Februar 17, 2016, 15:49:27 Nachmittag
Moin,

daran habe ich aber nichts geändert  8)
OK, nimm in der Zeile die Anweisung
, IgnorePrintAreas:=False(also mit dem Komma) raus, dann klappt es auch mit dem Nachbarn.  ;)

Später wirst du den Code vielleicht auch so schreiben:
Sub Druck()
    Dim zeilen As Integer
    zeilen = 50
    Range("B1:G" & zeilen).PrintOut
End Sub
Titel: Antw: VBA - Range "zusammenbasteln"
Beitrag von: Wiiinnniii am Februar 18, 2016, 08:57:38 Vormittag
Super - Herzlichen Dank !!!!