Printmacro

Status
Niet open voor verdere reacties.

Dennis de waal

Nieuwe gebruiker
Lid geworden
13 jul 2009
Berichten
2
Goedemorgen,

Ik ben bezig met het schrijven van een printmacro, maar ik kom er niet uit... Ik wil de mogelijkheid hebben om het afdrukformaat te kiezen (A3/A4).

Vanuit een button in Excel verwijs ik naar een UserForm met daarin een Listbox met de keuze uit A3/A4.
In de Userform heb ik een button gemaakt welke naar de printmacro verwijst.
In de printmacro moet er op basis van het gekozen formaat geprint worden volgens een aantal criteria (A3/A4 & alles op 1 pagina printen)

Hopelijk kan één van jullie mij helpen. Alvast bedankt voor jullie hulp :-)

Gr,
Dennis


De code welke ik tot nu toe heb, heb ik hieronder bijgevoegd.


Code:
Private Sub CommandButton1_Click()
 
    UserForm1.ListBox1.AddItem "A3"
    UserForm1.ListBox1.AddItem "A4"
    
    UserForm1.Show

End Sub


Code:
Private Sub CommandButton1_Click()

    If ListBox1 = "A3" Then
        
        Application.ScreenUpdating = False
        Sheets(Array("Blad2", "Blad3")).Select
                                
                     
        With ActiveSheet.PageSetup
            
            .Orientation = xlLandscape
            .PaperSize = xlPaperA3
            .FitToPagesWide = 1
            .FitToPagesTall = 1
                        
        End With
               
        ActiveWindow.SelectedSheets.PrintOut
        UserForm1.Hide
        Unload Me
                       
        
    ElseIf ListBox1 = "A4" Then
    
        Application.ScreenUpdating = False
        Sheets(Array("Blad2", "Blad3")).Select
                            
        With ActiveSheet.PageSetup
            
            .Orientation = xlLandscape
            .PaperSize = xlPaperA4
            .FitToPagesWide = 1
            .FitToPagesTall = 1
                        
        End With
        
        ActiveWindow.SelectedSheets.PrintOut
        UserForm1.Hide
        Unload Me
            
    Else
                      
    End If

    Sheets("Blad1").Activate

End Sub
 
Laatst bewerkt door een moderator:
Code:
Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
 Sheets(Array("Blad2", "Blad3")).Select
 With ActiveSheet.PageSetup
    .Orientation = xlLandscape
    .PaperSize = Choose(Me.ListBox1.ListIndex + 1, 8, 9)
    .FitToPagesWide = 1
    .FitToPagesTall = 1
 End With
 Unload Me
 ActiveWindow.SelectedSheets.PrintOut
 Sheets("Blad1").Activate
 Application.ScreenUpdating = True
End Sub
 
Goedemorgen Rudi,

Bedankt voor het reageren!
De code is zo wel mooi overzichtelijk en korter, dank daarvoor.

Ik blijf alleen wel het probleem houden dat niet alle pagina's op het gekozen formaat geprint worden :-(
"Blad2"wordt netjes naar het gekozen formaat geprint.
"Blad2"wordt ongeacht de ingevoerde keuze op A3 formaat geprint...

Heb jij enig idee waardoor dit komt?

Gr,
Dennis
 
Code:
Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
 sPaperSize = Me.ListBox1.ListIndex + 1
 Unload Me
 For Each it In Array("Blad2", "Blad3")
 With Sheets(it)
    With .PageSetup
        .Orientation = xlLandscape
        .PaperSize = Choose(sPaperSize, 9, 11)
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
    .PrintPreview
 End With
 Next
 Application.ScreenUpdating = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan