• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Via een macro bestanden met meerdere bladen 'liggend' uitprinten

Status
Niet open voor verdere reacties.

fun_surfer

Gebruiker
Lid geworden
25 aug 2001
Berichten
621
Hallo allemaal, ik heb redelijk veel bestanden uit te printen maar dan 'liggend'. Is het mogelijk om dit m.b.v. een macro voor elkaar te krijgen? Ik heb volgens mij wel de code om het bestand liggend af te drukken, maar nu wil ik de toevoeging over alle bladen (andere namen dan 'Blad1 etc.) en mocht dit ook binnen de Excel-macro mogelijk zijn ook voor meerdere bestanden...
Code:
Sub Valk()
'
' Valk Macro
'
' Sneltoets: CTRL+j
'
    Range("A1").Select
    Sheets("Blad2").Select
    Range("A1").Select
    Sheets("Blad3").Select
    Range("A1").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
 
Met bijgaande code stel je landscape in voor het te printen blad :

With ActiveSheet.PageSetup
.Orientation = xlLandscape
End With

Een en ander kun je makkelijk uitvinden door gewoon de handelingen met de macro-recorder op te nemen.
 
Hallo WinteE, allereerst bedankt voor je reactie. Ik dacht dat 'collate' voor liggend afdrukken stond, maar schijnbaar niet... Ik kom met de macrorecorder niet veel verder, omdat ik de namen van de werkbladen heb gewijzigd, het is dus niet meer 'Blad1' etc. en dus klopt de code niet die ik via de recorder verkrijg. Wat moet ik aanpassen om de werkbladen 'variabel' te maken?
Code:
Sub Valk()
'
' Valk Macro
'
' Sneltoets: CTRL+j
'
    Sheets(Array("[B]Blad1[/B]", "[B]Blad2[/B]", "[B]Blad3[/B]")).Select
    Sheets("[B]Blad1[/B]").Activate
    Range("A1").Select
[I]       With ActiveSheets.PageSetup
              .Orientation = xlLandscape
       End With[/I]
    ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub
 
Laatst bewerkt:
Zo?

Code:
Sub Valk()
'
' Valk Macro
'
' Sneltoets: CTRL+j
'
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.PageSetup.Orientation = xlLandscape
    Next ws
    ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub

Wigi
 
Beste Wigi, ook jij bedankt voor je reactie. Het grootste gedeelte is nu gelukt, ik zou alleen nog graag willen weten hoe ik 'Blad1', 'Blad2' en 'Blad3' variabel krijg, ik heb de bladen hernoemd met ieder een unieke naam... Bestaat er een soort jokerteken in VBS?
Alvast allebei enorm bedankt voor het succes tot dusver! ;)
Code:
Sub Valk()
' Valk Macro
' Sneltoets: CTRL+j
    Sheets(Array("Blad1", "Blad2", "Blad3")).Select
    Sheets("Blad1").Activate
    Range("A1").Select
        Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.PageSetup.Orientation = xlLandscape
    Next ws
    ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub
 
Beste Wigi, ook jij bedankt voor je reactie. Het grootste gedeelte is nu gelukt, ik zou alleen nog graag willen weten hoe ik 'Blad1', 'Blad2' en 'Blad3' variabel krijg, ik heb de bladen hernoemd met ieder een unieke naam... Bestaat er een soort jokerteken in VBS?
Alvast allebei enorm bedankt voor het succes tot dusver! ;)
Code:
Sub Valk()
' Valk Macro
' Sneltoets: CTRL+j
    Sheets(Array("Blad1", "Blad2", "Blad3")).Select
    Sheets("Blad1").Activate
    Range("A1").Select
        Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.PageSetup.Orientation = xlLandscape
    Next ws
    ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub

Meer dan mijn code heb je niet nodig... er is al een lus door elk werkblad.
 
Beste Wigi, alles werkt, op het actief maken van cel "A1" van ieder werkblad na, wat is hiervoor de aanpassing? Ik heb al wat geprobeerd, maar iedere poging strandde bij de foutopsporing...
Code:
Sub Valk()
' Valk Macro
' Sneltoets: CTRL+j
        Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.PageSetup.Orientation = xlLandscape
    Next ws
    ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub
 
Dat heb je niet nodig. Of: wat is de reden dat je het toch per sé nodig hebt?
 
Hallo Wigi, het is een bestand voor een klant die het wenselijk vindt het bestand zowel op papier als op de pc te raadplegen. Het bestand is alleen zo gemaakt dat de belangrijkste informatie in kolom A verborgen is (door aangepaste kolombreedte) en weer zichtbaar wordt door de cel A1 te activeren. GRTZ Art.
 
Dit mag je ook doen hoor

Code:
Sub Valk()
' Valk Macro
' Sneltoets: CTRL+j
    Dim ws As Worksheet
    Application.ScreenUpdating = False
    For Each ws In ThisWorkbook.Worksheets
        With ws
            .Select
            .Range("A1").Select
            .PageSetup.Orientation = xlLandscape
        End With
    Next ws
    Application.ScreenUpdating = True
    ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub
 
Wigi, geweldig, alles werkt nu zoals ik het bedoel! Ik had die 'select' boven de cel "A1" niet, dus hij kwam daar steeds met de foutopsporing.
Nogmaals bedankt en WinteE uiteraard ook nog!
GRTZ Art.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan