Excel Drucken mit VBA

Liebe Fachleute,

folgendes bekomme ich nicht gelöst:
ich habe eine Excel Tabelle mit 260 Zeilen, wobei sich die Zeilen immer von oben nach unten füllen. D.h., zwischendrin gibt es keine Leerzeile.
Ich möchte die Tabelle mittels Makro drucken, jedoch nur den befüllten Bereich.
Das habe ich zunächst so gelöst:
ActiveSheet.PageSetup.PrintArea = Range(Columns(2), Columns(10)).Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Klappt halb: schönes Druckbild, aber es wird der gesamte Bereich, also auch die leeren Zeilen mit, ausgegeben.
Das Problem habe ich dann versucht so zu lösen:
ActiveSheet.PageSetup.PrintArea = „$1:$“ & Range(„J10“).Value
Klappt wieder nur halb. Jetzt werden zwar nur die befüllten Zeilen ausgegeben, aber das Druckbild ist sehr sehr klein. Vermutlich versucht Excel alles auf einer Seite unterzubringen.

Hat jemand eine Idee zur Lösung, wie ich bei der zweiten Variante ein normal großes Druckbild bekomme?

Für Ideen Danke im Voraus

Jorma

hi,

Trial-and-Error:
MsgBox "vertikal: " & ActiveSheet.PageSetup.FitToPagesTall & " - horizontal: " & ActiveSheet.PageSetup.FitToPagesWide, vbOKOnly

irgendwas in der Richtung wird’s doch sicher sein.

grüße
lipi

Moin,

intelligente Tabellen haben die Eigenschaft .DataBodyRange, die könntest Du für das Setzen des Druckbereichs nutzen.

Gruß
Ralf

Vielen Dank an littlepinguin und drambeldier für eure Ideen.
Die werde ich ausprobieren.
Grüße
Jorma