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

Alternatieve paginanummering

Status
Niet open voor verdere reacties.

Yasmin

Gebruiker
Lid geworden
22 mei 2004
Berichten
184
Beste Excellers,

Ik heb een werkmap met ca. 150 tabbladen die allen dezelfde structuur en opbouw hebben alleen de ingevulde gegevens zijn afwijkend.
De naam van elk tabblad is als volgt opgebouwd:
3 cijfers = kamernummer
1 hoofdletter = letter A-Z als er meerder tabbladen per kamernummer zijn
1 middenstreepje
2 of 3 kleine letters mw = mevrouw dhr = de heer
bv: 205A-mw 205B-mw 205C-mw 205D-mw 205A-dhr 205B-dhr 209A-mw 209B-mw

Nu wil ik in de voettekst (rechtsonder) of in het blad zelf een unieke paginanummering
Blad # van ## per kamernummer per bewoner(mw of dhr).
Dus als ik tabblad 205B-mw selecteer en print dat er dan komt te staan Blad 2 van 4
en tabblad 205B-dhr Blad 2 van 2 enz.
Zou zoiets mogelijk zijn?

Yasmin Bekijk bijlage Alternatieve paginanummering.xlsx
 
Code voor ThisWorkbook

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim WS As Worksheet
Dim sAS As String

    sAS = ActiveSheet.Name
    For Each WS In Worksheets
        If WS.Name Like Left(sAS, 3) & "*" & Right(sAS, Len(sAS) - 4) Then Teller = Teller + 1
    Next
    ActiveSheet.PageSetup.RightFooter = "Blad " & Asc(Mid(sAS, 4, 1)) - 64 & " van " & Teller

End Sub

Met vriendelijke groet,


Roncancio
 
Roncancio,

Dit is precies wat ik bedoel.

1 klein puntje misschien nog als ik het voorbeeld op scherm bekijk zie ik geen paginanummering maar het wordt wel goed afgedrukt.
Misschien is dit eenvoudig op te lossen maar dit is geen groot probleem.
Heel vriendelijk bedankt voor zover.

Yasmin.
 
In dat geval, plaats de code bij Workbook_SheetActivate in ThisWorkbook.

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim WS As Worksheet
Dim sAS As String

    sAS = ActiveSheet.Name
    For Each WS In Worksheets
        If WS.Name Like Left(sAS, 3) & "*" & Right(sAS, Len(sAS) - 4) Then Teller = Teller + 1
    Next
    ActiveSheet.PageSetup.RightFooter = "Blad " & Asc(Mid(sAS, 4, 1)) - 64 & " van " & Teller

End Sub
Zodra een werkblad wordt geopend dan wordt de paginanummering van die pagina aangebracht.

Met vriendelijke groet,


Roncancio
 
Roncancio,

Werkt nu helemaal perfect, nogmaals bedankt.
Dit had ik zelf niet kunnen bedenken.

Yasmin.
 
Bij het uitbreiden van mijn werkmap kom ik er achter dat de alternatieve paginanummering niet voor de eerste 4 tabbladen in mijn werkmap mag gelden.

Is er een mogelijkheid om de VBA code alleen van toepassing te laten zijn vanaf Blad5 en hoger en niet zoals nu op elk tabblad.

Met vriendelijke groet,

Yasmin
 
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim WS As Worksheet
Dim sAS As String

    sAS = ActiveSheet.Name
    For Each WS In Worksheets
        If WS.Name Like Left(sAS, 3) & "*" & Right(sAS, Len(sAS) - 4) And WS.Index > 4 Then
            Teller = Teller + 1
            WS.PageSetup.RightFooter = "Blad " & Asc(Mid(sAS, 4, 1)) - 64 & " van " & Teller
        End If
    Next

End Sub

Met vriendelijke groet,


Roncancio
 
Roncancio,

Weer heel vriendelijk bedankt voor de aanpassing van de code.

Yasmin.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan