range printen

Status
Niet open voor verdere reacties.

pasan

Terugkerende gebruiker
Lid geworden
6 nov 2010
Berichten
1.110
hallo
ik heb een workbook met meerder sheets
een aantal van deze sheets moeten kunnen worden uitgeprint
als ik voor elke sheet een macro opneem en achter een button hang dan gaat het printen goed.
ik wijs een bepaalde range toe.
Elke print is op 1 pagina en de ene sheet in landscape en een andere in portrait
gaat allemaal goed tot een gebruiker bijv een paar cellen samenvoegt of een kolom breder maakt dan opeens past het niet meer op 1 vel met printen
ik dacht met de volgende code dit probleem opgelost te hebben
alleen werkt het bij de ene sheet wel en bij een andere weer niet pfffffffffff
Code:
    With ActiveSheet.PageSetup
     '.Orientation = xlLandscape
     .Orientation = xlPortrait
     .PaperSize = xlPaperA4
     .FitToPagesWide = 1
     .FitToPagesTall = 1
     .ScaleWithDocHeaderFooter = True
     .AlignMarginsHeaderFooter = True
   End With
     Range("B1:O90").PrintOut Copies:=1
mij vraag is dus; hoe of met welke code kan ik elke willekeurige range op 1 pagina krijgen
 
Sub Set_Print_Area()
Dim x As Long, lastCell As Range
x = ActiveSheet.UsedRange.Columns.Count
Set lastCell = Cells.SpecialCells(xlCellTypeLastCell)
ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), lastCell).Address
End Sub
 
edevlieger met jou antwoord zag ik dat ik mn vraag niet duidelijk gesteld had
met willekeurige range bedoelde ik de op de ene sheet bv B3:J30 en op een andere
B1:N62
jou antwoord klopt wel met mn vraag maar is niet wat ik eigenlijk bedoel
ik ben verder aan het proberen gegaan en kwam tot de volgende code
bij een range bv B1:N62 en ik maak kolom N breder dan komt er nog 1 vel a4 uit de printer
aan of opmerkingen uiteraard welkom
Code:
    Range("B1:N62").Select
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = ""
    Application.PrintCommunication = False
    End With
    With ActiveSheet.PageSetup
     '.Orientation = xlLandscape
     .Orientation = xlPortrait
     .PaperSize = xlPaperA4
     .FitToPagesWide = 1
     .FitToPagesTall = 1
     .ScaleWithDocHeaderFooter = True
     .AlignMarginsHeaderFooter = True
    End With
    Selection.PrintOut Copies:=1
    Range("b3").Select
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan