• 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.

Aantal copies ingeven op mijn werkblad om te printen

Status
Niet open voor verdere reacties.

DANIEL162

Terugkerende gebruiker
Lid geworden
24 feb 2011
Berichten
1.098
Ik kan printen via een knop op excelblad:
ActiveWindow.SelectedSheets.PrintPreview 'Printvoorbeeld
of
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'Printen
In de bovenstaande code ziet men Copies:=1. Om meerder copies te printen moet ik uiteraard
Visual Basic openen. Mijn vraag is nu kan ik via excelblad in cel A1 voorbeeld een 1 of 2 typen naargelang ik een of meerdere copies nodig heb.

Ik had iets anders gevonden maar dat dient om verschillende pagina’s te printen.
Bij mij gaat het om dezelfde pagina meerdere malen te printen.

Code:
Code:
Sub Knop2_Klikken()
Dim iAntwoord As VbMsgBoxResult
Dim iAantal As Integer
iAantal = Range("A1").Value
ActiveSheet.PrintOut From:=1, To:=iAantal, Copies:=1, Preview:=True, Collate:=True
End Sub
 
Laatst bewerkt door een moderator:
Die 'iAantal' heeft op dit moment geen enkele functie in je macro.
Die kun je eventueel voor het aantal af te drukken copies gebruiken.
Vervang Copies:=1 door copies:=iAantal of door copies:=range("A1").value
 
ActiveWindow.SelectedSheets.PrintOut Copies:=Range("Q45").Value, Collate:=True 'Printen
Dit geeft een foutmelding
 
Bij mij niet (Excel 2002).
Welke foutmelding krijg je?
 
Geel gekleurd
Gebruik je een andere formule?
Bij mij (Excel2007)
Bij mij gaat het om dezelfde pagina meerdere malen te printen.
grtjs Daniel
 
Geel gekleurd
Welke kleur de cel heeft doet niet te zake.

Gebruik je een andere formule?
Ik gebruikte de opdracht waar jij problemen mee hebt, nl.
ActiveWindow.SelectedSheets.PrintOut Copies:=Range("Q45").Value, Collate:=True 'Printen
waarbij in Q45 een willekeurig getal staat.

Bij mij gaat het om dezelfde pagina meerdere malen te printen.
Dat doet die opdracht: eenzelfde blad het aantal keren printen dat in Q45 staat.
 
Ik vroeg je eerder WELKE foutmelding je kreeg, daarop gaf je geen antwoord.
Zolang dat niet bekend is, valt er weinig over te zeggen.
 
Dit is mijn code

Code:
Sub PrintGeschiedenis()
EnableActiveDialogMenuControls (Application.Caption)
 Sheets("Data").Visible = True
     
Sheets("Data").Select
With ActiveSheet.PageSetup
    .PrintArea = "$A$1:$Q$31"
    'Pagina liggend (staande)
    .Orientation = xlLandscape
    .FitToPagesWide = 1
    .FitToPagesTall = 1
    .CenterHorizontally = True
    .CenterVertically = True
End With
'ActiveWindow.SelectedSheets.PrintPreview 'Printvoorbeeld
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'Printen
DisableActiveDialogMenuControls (Application.Caption)
Sheets("Data").Visible = xlVeryHidden
Sheets("Form").Select
End Sub


Deze formule werkt niet en geeft een foutmelding ActiveWindow.SelectedSheets.PrintOut Copies:=Range("Q45").Value, Collate:=True 'Printen
 
Laatst bewerkt door een moderator:
Graag de daarvoor bestaande "code tag" gebruiken indien je een code plaatst.
 
Ik vroeg je (en nu voor de derde en laatste keer) WELKE foutmelding je bij deze opdracht krijgt:
Code:
ActiveWindow.SelectedSheets.PrintOut Copies:=Range("Q45").Value, Collate:=True
Probeer eens een macro met uitsluitend deze opdracht.
 
Zapatr
de formule is ok


maar het gaat niet in deze
Code:
Code:
Sub PrintGeschiedenis()
EnableActiveDialogMenuControls (Application.Caption)
Sheets("Data").Visible = True
Sheets("Data").Select
With ActiveSheet.PageSetup
.PrintArea = "$A$1:$Q$31"
'Pagina liggend (staande)
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
.CenterVertically = True
End With
'ActiveWindow.SelectedSheets.PrintPreview 'Printvoorbeeld
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'Printen
DisableActiveDialogMenuControls (Application.Caption)
Sheets("Data").Visible = xlVeryHidden
Sheets("Form").Select
End Sub
 
Laatst bewerkt:
De code tag moet je wel afsluiten anders werkt het niet.

Code:
Plaatst hier je code.
Geeft het resultaat;
Code:
Plaatst hier je code.
 
Ik heb drie keer dezelfde vraag gesteld en je gaf daarop geen antwoord.
Daarom laat ik het hierbij.
Er zullen waarschijnlijk wel anderen zijn op dit forum om je verder te helpen.
De fout zit m.i. in andere opdrachten in de macro.
 
zapatr
je verstaat toch nederlands
ik geef de voledige code . uw code werkt prefect.
Hier in mijn code werkt het niet.
Als men zo met u op deze site moet verder werken t'is geestig
Ik sluit dit af. Sorry
groetjes Daniel
 
Laatst bewerkt:
zapatr
je verstaat toch nederlands
ik geef de voledige code . uw code werkt prefect.
Hier in mijn code werkt het niet.
Als men zo met u op deze site moet verder werken t'is geestig
Ik sluit dit af. Sorry
groetjes Daniel

Daniel

Waarom staat er in uw code: Copies:=1
Het gaat in deze topic over meerdere printout's van (1 of meer) werkbladen.
Of wil dit zeggen dat 1 printout al niet werkt? Indien dit zo is, ga dan eerst hiervan de oorzaak zoeken, en pas daarna meerdere printout's instellen.

Ten tweede, staat er in de code:

Code:
Sheets("Data").Select

Waarom heb je dan:

Code:
ActiveWindow.SelectedSheets.PrintOut ...

ActiveWindow.SelectedSheets is niet nodig aangezien het toch om 1 tabblad gaat (Data genaamd).
Breng dit alles in With... End With constructies:

Code:
Sub PrintGeschiedenis()

    EnableActiveDialogMenuControls Application.Caption
    
    With Sheets("Data")
    
        .Visible = True
        
        With .PageSetup
            .PrintArea = "$A$1:$Q$31"
            'Pagina liggend (staande)
            .Orientation = xlLandscape
            .FitToPagesWide = 1
            .FitToPagesTall = 1
            .CenterHorizontally = True
            .CenterVertically = True
        
        End With
        
        .PrintOut Copies:=1, Collate:=True    'Printen
        
        DisableActiveDialogMenuControls Application.Caption
        .Visible = xlVeryHidden
        
    End With
    
    Sheets("Form").Select
    
End Sub

Gebruik vervolgens F8 om regel voor regel door de code te gaan. Zien wat werkt en wat eventueel niet werkt.
 
Wigi

Antwoord op uw vraag Waarom staat er in uw code: (Copies:=1)
Als ik dit (Copies:=Range("A1").Value,) vervangde werkte het niet.

Dus was er iets mis met de rest van de code.
Hier komen we bij ten tweede, staat er in de code:
(ActiveWindow.SelectedSheets) weggelaten en (Sheets("Data").Select) aangepast

Het werkt nu Picobello.

Bedankt Wigi voor de hulp.

Groetjes en nogmaals bedankt,
Daniel
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan