Excel - Verschillende kolommen naast elkaar printen

Status
Niet open voor verdere reacties.

Jan Liekens

Gebruiker
Lid geworden
11 feb 2006
Berichten
17
Vanuit een Excel werkblad wens ik de range A12:B133 (deze blijft vast) en een variabele range F12:I133 af te drukken.
Kan iemand mij daarvoor een VBA code bezorgen.
Alvast bedankt.
 
achter een knopje zit dat er zo uit:

variabele range is natuurlijk wel lastig.... wat is variabel? Je moet wel weten wat je wilt printen. Eventueel kan je daar nog een IF...THEN statement aanhangen, maar die moet je dan wel goed omschrijven.

Private Sub CommandButton1_Click()
Application.EnableEvents = False
With Sheets("blad1").PageSetup
'dat kan dus van alles zijn, in de regel is het gewoon "blad1" maar mischien heb je het zelf een andere naam gegeven
.CenterHorizontally = True
.PrintArea = "A12:B133" 'printbereik geef je zelf hier in
.PrintArea = "F12:I133"
.Orientation = xlPortrait 'orientatie van het blad
.FitToPagesWide = 1 'breedte op 1 blad? kan dat kan... anders deze regel verwijderen
.FitToPagesTall = 1 'hoogte op 1 blad? kan dat kan... anders deze regel verwijderen

End With

Application.EnableEvents = True
End Sub
 
Laatst bewerkt:
achter een knopje zit dat er zo uit:

variabele range is natuurlijk wel lastig.... wat is variabel? Je moet wel weten wat je wilt printen. Eventueel kan je daar nog een IF...THEN statement aanhangen, maar die moet je dan wel goed omschrijven.

Private Sub CommandButton1_Click()
Application.EnableEvents = False
With Sheets("blad1").PageSetup
'dat kan dus van alles zijn, in de regel is het gewoon "blad1" maar mischien heb je het zelf een andere naam gegeven
.CenterHorizontally = True
.PrintArea = "A12:B133" 'printbereik geef je zelf hier in
.PrintArea = "F12:I133"
.Orientation = xlPortrait 'orientatie van het blad
.FitToPagesWide = 1 'breedte op 1 blad? kan dat kan... anders deze regel verwijderen
.FitToPagesTall = 1 'hoogte op 1 blad? kan dat kan... anders deze regel verwijderen

End With

Application.EnableEvents = True
End Sub
 
Bedankt voor de snelle reactie.
Maar kan ik de .print area = "A12:B133";"F12:I133" ook ingeven ?
 
Bedankt voor de snelle reactie.
Maar kan ik de .print area = "A12:B133";"F12:I133" ook ingeven ?

Je kan dat niet in 2 stukken doen.

Wat je wel kan doen is via code de tussenliggende kolommen verbergen, alles printen, vervolgens kolommen weer laten zien.

Wigi
 
verbergen van rijen en kolommen is vrij eenvoudig. Gewoon even aangeven wat je wilt verbergen. Dit regeltje even tussenvoegen in de code en aanpassen aan de behoefte:


Rows("26:33").Select 'rijen 26 t/m 34 verbergen
Selection.EntireRow.Hidden = True


Hetzelfe geldt natuurlijk voor kolommen, maar dan met Column(":").Select
 
MM, je hoeft dat niet eerst te selecteren vooraleer dat te verbergen. Dat is overbodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan