Aantal afdrukken van document bijhouden.

Status
Niet open voor verdere reacties.

Abel Visscher

Gebruiker
Lid geworden
28 mei 2007
Berichten
171
Geachte,

Onder het motto, wil niet ligt op het kerkhof en kan niet ligt ernaast, stel ik deze vraag.
Is het mogelijk om in word d.m.v. een formule een nummer samen te stellen die het aantal afdrukken van een document bij houd? Ik zeg samenstellen omdat de opbouw van het nummer bestaat uit, laatste 2 cijfers van het jaartal, 2 cijfers van weeknummer en 3 cijfers bedoeld voor afdruk nummer die na elke afdruk met 1 omhoog gaat?
voorbeeld:
Jaar: 2019 = laatste 2 cijfers = 19 (automatisch invullen, en als het niet anders kan dan maar het hele jaartal 2019)
Weeknummer: 2 cijfers = 09 (automatisch invullen)
Printnummer: 3 cijfers 101 (beginnen vanaf 100) (automatisch invullen)
Het uiteindelijke nummer zou na de eerste afdruk er dan zo uit moeten zien: 1909101. (als het jaartal uit 4 cijfers moet bestaan 201909101)
Oplopend met 1,
1909102
1909103
1909104
enz.

Het liefst wil ik dit getal dan in de voettekst zien staan aan de rechter kant, mocht dat niet willen dan maar gewoon ergens op een regel.
Als dit in word niet mogelijk is, is het dan eventueel wel mogelijk in Excel?

Met vriendelijke groet,
Abel Visscher
 
Laatst bewerkt:
Vergeet Word voor deze exercitie, als het al kan, is het mateloos ingewikkeld. Maak in Excel een lijst met de gewenste nummering, en gebruik Afdruk Samenvoegen om je documenten te genereren.
 
Beste OctaFish,

Ik was daar al wel bang voor, kan het in Excel dan wel in de voettekst geplaatst worden?
 
Je hoeft in Excel niks in een voettekst te plaatsen, dat doe je in je Word document.
 
Oke, ga ik daar eens mee stoeien, al moet ik eerst het document omzetten naar excel. Is het verstandig om bij eventuele vervolg vragen deze te posten onder Excel?
 
Nogmaals: je hoeft je document niet om te zetten naar Excel. Je gebruikt Excel alleen om de lijst met nummers te genereren, die je vervolgens dan samenvoegt met je Word document. Kortom: gewoon een Word vraag :).
 
Geachte,
Ik ben al een stukje op weg met betrekking op het samenvoegen van een excel en een word bestand.
ik heb in excel een macro geplaatst op blad 2 die een telling bij houd voor het aantal afdrukken. In principe werkt dat maar ik weet nog niet hoe ik die macro vanuit word moet aanroepen.
De inhoud van cel A2 op blad1 komt in de voettekst te staan als ik daar de cursor neerzet en dan op samenvoegvelden klik.
Maar als ik 50 afdrukken moet maken ben ik wel een tijdje bezig, kan dat op een of andere manier ook automatisch?
Ik hoop dat iemand mij hier op weg kan helpen, wellicht denk ik helemaal verkeerd, ik ben geen expert op dit gebied.
 

Bijlagen

  • WerknummerTest.xlsm
    16,9 KB · Weergaven: 40
  • stroomschema & communicatiestructuur TD (1).docx
    56,3 KB · Weergaven: 39
Je moet een tabelletje maken voor je nummers, door bijvoorbeeld in Blad1!A2 dit te zetten: =Blad2!$A$2&Blad2!$A$3&TEKST(RIJ()-1;"000"). En met deze macro vul je de lijst dan aan:
Code:
Sub TelLijst()
Dim aantal As Long
    aantal = Application.InputBox("Vul het aantal afdrukken in", "Hoeveel afdrukken?", , , , , , 1)
    Sheets("Blad1").Range("A2").AutoFill Destination:=Range(Cells(2, 1), Cells(aantal + 1, 1))
End Sub
Vervolgens open je het Word document, en voer je de samenvoeging uit. Gaat redelijk simpel, wat mij betreft :)
 
Beste,
Allereerst excuses voor de late reactie, zo lijkt het net alsof ik geen interesse heb, maar ben nogal druk op het ogenblik. (nieuwe baan).
@Octafisch, uw voorstel in de macro geeft een 1004 foutmelding tijdens uitvoering. Door de toepassing of door object gedefinieerde fout.
Ik ben zoals gezegd geen hoogvlieger op dit gebied maar kom hier vooralsnog niet verder mee.Ik begrijp dat deze macro en tabel maakt van boven naar beneden met een aantal oplopende getallen naar aanleiding van het ingevoerde getal. Maar ik zie dus niets.
Enig idee? iemand anders mag natuurlijk ook.
 
De macro moet in Excel worden uitgevoerd (het is een Excel macro), waarbij in mijn voorbeeld de macro wordt uitgevoerd op Blad1. Dat moet dan uiteraard wel bestaan, en die naam hebben :). In mijn voorbeeldje zie ik een foutje staan, de juiste formule is deze:
Code:
=TEKST(RIJ()-1;"000").
De macro kun je dan in de module van het werkblad Blad1 zetten, of in een aparte module.
 
Beste OctaFish,

De macro werkt, ik had hem op blad 2 staan. Volgens mij mankeert er niets aan jou formule die je in eerste instantie gaf.
Wellicht was ik niet helemaal duidelijk in mijn uitleg, maar het is de bedoeling dat de telling doorgaat bij een 2e print opdracht.
stel 1e print opdracht 12 ex. van het formulier, krijg ik een tabel van (laatste cijfers) 001 t/m 012. Dat is prima.
Bij 2e print opdracht 13 ex. van het formulier, moet ik dan een tabel krijgen van 013 t/m 025. (weer te beginnen in A2, eerste tabel gegevens niet meer zichtbaar.)
Hiermee krijgt elk formulier dus een uniek nummer.
En nog mooier zou zijn dat zodra het weeknummer veranderd de teller weer bij 001 begint. Dat zou dan elke maandag zijn.
Zou je mij hier nog mee kunnen helpen?
Bij voorbaat dank.
 
Laatst bewerkt:
Ik ben een beetje aan het klooien geslagen met het nummeren, en volgens mij gaat dat wel aardig zo. Kan best slimmer denk ik, maar dit is wel te behappen zo.
Er zit ook een check in op weeknummer, maar die kan ik vandaag uiteraard niet testen. Zonder de systeemdatums door elkaar te husselen :)

Code:
Sub TelLijst()
Dim Aantal As Long, Startwaarde As Variant, Eindwaarde As Variant
Dim src As Range, fill As Range
Dim dummy As Variant, prp As CustomProperty, prw As CustomProperty
Dim aWB As Workbook
Dim aWS As Worksheet

    Set aWS = ActiveSheet
    On Error Resume Next
    Set prp = aWS.CustomProperties.Item(1)
    Set prw = aWS.CustomProperties.Item(2)
    With aWS
        .Range("A1").Value = "Nummer"
        Set src = .Cells(2, 1)
        If Not src.Value = "" Then
            Startwaarde = prp.Value
            If WorksheetFunction.WeekNum(Date, 2) <> prw.Value Then
                Startwaarde = 1
            Else
                Startwaarde = Cells(.Cells(.Rows.Count, "A").End(xlUp).Row, 1).Value + 1
            End If
        Else
            Startwaarde = 1
        End If
        Set fill = .Range(Cells(2, 1), Cells(Cells(.Cells(.Rows.Count, "A").End(xlUp).Row, 1), 1))
        fill.Clear
        
        Aantal = InputBox("Vul het aantal afdrukken in." & vbLf & "Startwaarde = '" & Startwaarde & "'", "Hoeveel afdrukken?")
        
        Set fill = .Range(Cells(2, 1), Cells(Aantal + 1, 1))
        src.Value = Startwaarde
        src.AutoFill Destination:=fill, Type:=xlFillSeries
        Eindwaarde = Cells(.Cells(.Rows.Count, "A").End(xlUp).Row, 1).Value
    End With

VulVariabele:
    On Error Resume Next
    'Controleren of de variabele bestaat
    For Each prp In aWS.CustomProperties
        Select Case prp.NAME
            Case "Nummer"
                chk = True
                prp.Value = Eindwaarde
            Case "WeekNummer"
                chk = True
                prw.Value = WorksheetFunction.WeekNum(Date, 2)
        End Select
    Next prp
    If chk = False Then
        aWS.CustomProperties.Add NAME:="Nummer", Value:=Eindwaarde
        aWS.CustomProperties.Add NAME:="WeekNummer", Value:=WorksheetFunction.WeekNum(Date, 2)
    End If
End Sub
 
Beste OctaFish,
Wederom dank voor uw inbreng. Het ziet er goed uit en heb hem ook al geprobeerd. Behoudens de opmaak van het totale getal (jaartal&weeknummer&volgnummer"000") zit er wel een foutje in, bij de eerste keer "fill Clear" blijft het laatste (hoogste) getal staan in kolom "A".
Daar telt hij iedere keer weer vanaf + 1. Voorbeeld:
aantal afdrukken invullen =20
startwaarde is dan 20 + 1 = 21
bij fill clear blijft dan de 20 (in A21) staan. Bij een volgende opdracht van bv 7, loopt de teller door t/m 27 vanaf A2.
Nu zou de startwaarde 27 + 1 = 28 moeten zijn, maar omdat in A21 nog steeds 20 staat is dat dus 21.
Handmatig 20 verwijderen geeft uiteindelijk dan wel de juiste startwaarde.
Het gebeurd alleen bij de eerste keer.

Voor wat betreft het weeknummer dat werkt. Systeem datum een week vooruit gezet teller begint weer bij 1.

Bij "Annuleren" of "0" invullen verdwijnt "Nummer" uit cel A1 en verhoogt de teller met 1 zie ik net.

P.s. dat klooien gaat u beter af dan mij.:d
 
Laatst bewerkt:
Geachte mede forumers,

Het is al weer een tijdje geleden dat ik hierop gereageerd heb, maar ik heb uiteindelijk het probleem van de laatste regel (beschreven in mijn vorige post) opgelost. Of het echt goed is laat ik in het midden maar het werkt wel. Ook de opmaak van het getal heb ik aangepast, wellicht omslachtig maar dit werkt ook.
Nu heb ik allen nog de volgende vraag:
Hoe kom ik vanuit word nu bij de macro in dat excel bestand om het een en ander automatisch te laten lopen?
Het mooiste zou zijn dat bij en toegevoegde button in het word document de macro van excel gaat lopen met excel op de achtergrond.
Iemand een idee of voorzet hoe aan te vangen?

Bij voorbaat dank.
 

Bijlagen

  • stroomschema & communicatiestructuur TD (2.7).docm
    106,3 KB · Weergaven: 29
  • WerkBonNr..xlsm
    19,1 KB · Weergaven: 30
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan