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

Varierend aantal tabbladen printen via macro

Status
Niet open voor verdere reacties.

matthiej88

Gebruiker
Lid geworden
21 jan 2010
Berichten
85
Hallo,

Alweer een vraag :)

Ik wil een macro bouwen, die zorgt dta de goede tabbladen worden geprint. Echter is het niet van te voren bekend hoeveel tabbladen er bekend zijn. Het is wel zo dat alle tabbladen geprinten moeten worden, behalve het eerste tabblad (invulblad).

Ik zat te denken om in de macro een selectie te maken die zegt "voorblad t/m laatste blad" Of anders alle tabbladen te selecteren en het tabblad invulblad eraf te halen.

Is dit mogelijk of zijn er andere oplossingen?
 
Als je op voorhand niet weet welke werkbladen allemaal moeten worden afgeprint, zou ik een userform creëren met daarop selectievakjes met daarachter de naam van de werkbladen.
Zet daarop nog een printknop.
Indien het selectievakje is aangevinkt zal dat specifieke werkblad worden afgeprint.

Om dat volledig uit te werken, is wel wat tijd nodig. Als je dit uitgewerkt wil zien, kan je best je bestand al eens uploaden (ontdaan van gevoelige info) en hopen dat een MacroFreak hier passeert :D
 
Code:
Sub Printen()
'
' Printen Macro
'

'
    Sheets("Inhoud").Select
With ActiveSheet.PageSetup
    .LeftFooter = "&p"
    .CenterFooter = "Projectplan " & ['invulblad'!D13]
    .RightFooter = "Datum: " & Format(['invulblad'!D8], "d-mmm-yy")
End With
    Sheets("Inhoudsopgave").Select
With ActiveSheet.PageSetup
    .LeftFooter = "&p"
    .CenterFooter = "Projectplan " & ['invulblad'!D13]
    .RightFooter = "Datum: " & Format(['invulblad'!D8], "d-mmm-yy")
End With
    Calculate
    Sheets.Select (All)
    Sheets.Select(Array("Voorblad", "Inhoudsopgave", "Inhoud", "Risico's", "Keuringsplan", _
        "Alarmkaart", "Contract document", "IntekenlijstInstructieTaakrisic")).Select
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
    Sheets("Invulblad").Select
    Range("F105").Select
End Sub

Dit is wat ik nu als printmacro heb. Kan zijn dat ie niet helemaal meer werkt, aangezien ik er in heb zitten prutsen.

Eigenlijk zou er ipv array(alle tabbladen).select zou er toch een code moeten bestaan die zegt, van "voorblad" t/m "de laatste".

Of anders, zoals ik eerder suggereerde een code die alle tabbladen selecteert, behalve tabblad "invulblad".

Ik zal s kijken wat ik van jouw suggestie voor elkaar krijg, bedankt iig!
 
...niet getest, maar doet dit blokje wat je wil?
Code:
Sub AlleSheetsPrinten()
Dim sh As Object

    For Each sh In ThisWorkbook.Sheets
        If sh.Index > 1 Then
            With sh.PageSetup
                .LeftFooter = "&p"
                .CenterFooter = "Projectplan " & ['invulblad'!D13]
                .RightFooter = "Datum: " & Format(['invulblad'!D8], "d-mmm-yy")
            End With
            sh.PrintOut
        End If
    Next sh

End Sub
(waarbij ik er ff vanuit ga dat het 'invulblad' je 1e sheet is...)

Groet, Leo
 
Laatst bewerkt:
Nee, dit is niet wat ik zoek.

ten eerste print hij zo alle pagina's.

Daarnaast moet de voettekst alleen toegepast worden op de tabbladen "inhoudsopgave" en "inhoud".

Die voettekst komt wel goed, dat klopt inmiddels wel. Het probleem zit 'm in het uitprinten van alle tabbladen, behalve het tabblad "invulblad".

Omdat sommige tabbladen optioneel zijn, staat het aantal tabbladen niet vast.
 
Nee, dit is niet wat ik zoek.

ten eerste print hij zo alle pagina's

Ehhhh... Ja, maar dat wilde je toch ook??? Als ik kijk naar je initiële vraag...
matthiej88 zei:
Het is wel zo dat alle tabbladen geprinten moeten worden, behalve het eerste tabblad (invulblad)
...voldoe ik precies aan die voorwaarde. Om er voor te zorgen dat alleen de 2 genoemde bladen die voetteksten krijgen is niet zo'n probleem.

Geef dus aub ff aan waar ik volgens jou de fout in ga?

Groet, Leo
 
Excuus.. niet goed gelezen. hij print idd alle pagina's behalve 't invulblad (dit was idd blad 1).

Ik heb m nu zo aangepast dat hij ook klopt qua voettekst etc.

bedankt iig!
 
Excel prinopdracht

Ik ben nieuw in VBA daarom heb ik een vraag.
Weet iemand een manier om tabbladen via een waarde in cellen
te activeren zodat alleen de geactiveerde tabbladen via een knop geprint kunnen worden ?

Voorbeeld:
Ik heb honderd tabbladen en die mogen pas geprint worden als er in een bepaalde cel een waarde staat. Dit wil ik printen door middel van een knop. Deze waarde in de cel wordt bepaald door een verwijzing.

Alvast bedankt.
 
Enna, Wil je jezelf een plezier doen en gewoon een nieuwe Topic starten ipv nu 'in te breken' op een oude... Dat houdt het forum een stuk ordelijker.

Groet, Leo

P.s. dan kom ik daar wel terug met een mogelijke oplossing.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan