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

Doorlopend factuurnummer

  • Onderwerp starter Onderwerp starter emc
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

emc

Gebruiker
Lid geworden
21 jan 2003
Berichten
450
Enige tijd geleden heb ik een topic geplaatst met dit onderwerp. (Ik ben bezig met het creeren van een standaard factuur in Excel. Het zou mooi zijn dat ik met elke nieuwe factuur standaard ook een nieuw factuurnummer krijg gegenereert. Is hier een formule voor, dat hij bij elke nieuwe factuur een nieuw nummer toekend?)

Ik heb hetvolgende uitgevoerd:

•Maak met de "Werkset Besturingselementen" een knop op het blad.

•Rechtsklik op de knop "Programmacode weergeven" en zet onderstaande in het veld:
Private Sub Workbook_Open()
Sheets(1).Range("A1") = Sheets(1).Range("A1") + 1
End Sub

•Klik nu op de eerste knop van de "Werkset Besturingselementen" ONTWERPMODUS AFSLUITEN.

Maar hoe koppel ik dit nu aan factuurnummer. De knop is er, en in te drukken, maar er gebeurt verder niets. Waarschijnlijk mis ik de koppeling met het factuurnummer en hoe geeft ik aan waaruit het factuurnummer moet worden opgebouwd?

Alvast bedankt, emc
 
Waarschijnlijk is dit wel te doen, maar ik heb wat meer informatie nodig:

- Worden alle facturen met hetzelfde sheet gemaakt en dan opgeslagen onder een nieuwe naam ( met waarschijnlijk het factuurnummer ?)

- Waar komen de gegevens voor je factuur vandaan ?

- Wat moet er precies gebeuren als je op de knop drukt.
 
Hallo Hans,

Inderdaad hetzelfde bestand (is dus de bron) wordt geopend en dan onder een andere naam opgeslagen.

In het bestand staan diverse werkbladen, één van die werkbladen bevat adressen, etc. Dus ik heb alle gegevens voor de factuur un hetzelfde bestand staan.

Wat er precies moet gebeuren is dat het factuurnummer opteld elke keer als ik het opgeslagen heb, elke keer als ik het bestand dus weer open om een nieuwe factuur te maken moet ik ook een nieuw factuurnummer hebben, als de oude bijvoorbeeld 2005/1001 is moet de nieuwe 2005/1002

groeten, emc
 
Het volgende bestand zou je op weg moeten helpen hiermee, zit misschien nog wel wat werk aan. Kijk eerst maar of het wat is.
 

Bijlagen

Hoi Hans,

Dit is inderdaad wat ik bedoel, maar kun je alsjeblieft uitleggen hoe je dit gedaan hebt? Ik zou anders niet weten hoe het in mijn factuur te integreren. Ik kan namelijk de eigenschappen van de button ok niet bekijken, dat is geblokkeerd.

groeten, emc
 
druk op ALT +F11, je komt nu in de Visual basic editor.

De eigenschappen van de knop kun je vinden achter blad1 (dubbelklik op blad1) je ziet dat hier alleen de macro wordt aangeroepen in module1. De eigenschappen van je knop kun wijzigen in het eigenschappen venster ( meestal linksonder, als deze er niet staat op F4 drukken).

De macro zelf staat dus op blad module1, deze is vrij rechttoe rechtaan.

Als je de knop rechtstreeks wil bewerken in je blad, werkset besturingelement openen en op icoonje met het lichtblauwe driehoekje en het lineaaltje drukken, hier kun je ook kiezen voor programmacode weergeven
 
Hoi,

Als ik alt F11 intoets, gebeurd er niets, ik heb office XP zonder SP, ligt het daaraan? Ik kan altijd office 2000 (met SP) installeren. Maar als ik op de link klik en ik doe direct openen opent het bestand in excel/explorer. als ik het eerst opsla wordt het een .txtbestand wat opent in wordpad. Kan ik dus ook weinig mee. Wel heb ik het stukje van het pad & (voorloop) factuurnummer vast nagemaakt.

Wederom alvast bedankt, emc.
 
Ik begrijp het denk ik niet goed, maar als je het bestand uit de eerdere post opslaat, moet je de extensie wijzigen van .txt naar .xls Hierna gewoon openen met excel. Als je in excel op ALT+F11 druk moet je in de visual basic editor komen.

Anders eventueel via het menu extra --> macro--> visual basic editor.
 
Hallo Hans,

Dit was nu waar ik allang op naar op zoek ben, kan het ook zo gemaakt worden dat als ik uitprinten klik, de teller een cijfer hoger klikt.

Bij voorbaat dank.

Justes
 
Hoi Hans,

Het is me gelukt, na-apen werkt dus ook (ik heb de knop gemaakt, de teskt in beide bladen van VB gekopieerd en de celverwijzingen aangepast). Alleen nog een vraag. Stel ik heb een aantal facturen gemaakt, tot en met nummer 6. Die heb ik opgeslagen. Dan sluit ik excel af en de volgende dag ga ik weer verder. Hoe zorg ik dan dat ik in factuur 7 terecht kom, want of ik heb de keuze uit mijn bronbestand, maar die staat nog op 1, of ik open 6 weer en die staat op 6.

Groetjes, Marietha.
 
Wat je kan doen is het bron bestand altijd opslaan voor je het sluit, dmv een auto_close macro of het bestand bij het openen laten zoeken naar het eerst beschikbare factuurnummer.

Om dit laatste te doen kan je gebruik maken van de macro in de bijlage.
 

Bijlagen

Wat ook wel een aardige oplossing kan zijn is onderstaande code opgenomen met de macrorecorder:


Sheets("Blad2").Select
Sheets("Blad2").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:=bestand, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.Close


je kan deze code in je eigen code verwerken. Hierbij wordt een blad (in dit geval blad2) gekopieerd naar een nieuw bestand, het hele blad als waarde weergeven waardoor alle formules en verwijzingen eruit zijn en dan opgeslagen en gesloten. Hierdoor hou je 1 bron bestand, welke goed zit met de factuurnummering.

bij saveas moet je bestand veranderen in wat er in de eerste macro stond.
 
Hoi Hans, ik ben even aan het stoeien geweest met je eerste optie, de macro die je had meegestuurd. Ik heb een documentje bijgevoegd en zal in het volgende bericht de factuur bijvoegen (en vast aan de slag gaan met de 2e optie, maar ook daar kwam ik in eerste instantie niet uit).

Groeten, Marietha
 

Bijlagen

Hoi Hans,

Hierbij de factuur, ik heb de extensie even txt gemaakt, in de hoop dat het nu wel lukt om 'm erbij te plaatsen.

Groeten, Marietha
 
Hoi Hans,

Het bestand was veel te groot, ik heb daarom een uitgeklede verzie gemaakt. Normaal zitten er 10 tabbladen in, waarvan een aantal met kortingsfacturen en offertes.

Groeten, emc.
 

Bijlagen

Hoi Hans,

Je 2e optie is misschien eenvoudiger toe te passen als de eerste, er zijn echter meerdere bladen die weggeschreven moeten worden. Als de bladen waarop alle brongegevens staan niet hoeven worden meegekopieerd om de gegevens te behouden zijn dat de bladen 2 t/m 8.

Kan ik dit dan kopieren en plakken in de al bestaande module, voor "end sub".

Groeten, emc.
 
emc,

Ik heb je bestand een beetje aanpast en hiermee hopelijk ook je vragen beantwoord.

Volgens mij werkt het nu. Er worden nu automatisch 2 bladen weggeschreven en het factuurnummer verhoogd in hetzelfde bestand. Om 8 bladen weg te schrijven moet je de array met sheets uitbreiden met de andere 6 bladen, dit wijst zich vanzelf en is eventueel ook op te nemen met de macro recorder.

In de macro staat ook een macro auto_open die dus uitgevoerd wordt nadat je het bestand geopend hebt. Deze zoekt naar het eerste niet gebruikte factuurnummer. Je moet hier nog wel aangeven met welk nummer je gestart bent, ik ben uitgegaan van 2005-01000.

Om deze macro te gebruiken de 'exit sub verwijderen ander stop de macro op deze regel. Ik heb deze erin gezet omdat ik niet weet of je hem wilt gebruiken.


Voor justus: om de teller te verhogen met uitprinten kun je het beste dezelfde knop gebruiken en dan de achterliggende macro aanpassen zodat deze (ook) print. Het gedeelte met de nummering kun je dan zo laten.
 

Bijlagen

Hoi Hans,

Sorry, het lukt me nog niet. Wolgend mij worde de macro dan alsvolgt:

Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 20-1-2005 door Familie de Jong.
'

'
Sheets(Array("Invoerblad", "Winkelier", "Offerte", "Off 10", "Off 25, "Factuur", "Fact 10", "Fact 25", "Klanten", "Brongegevens")).Select
Sheets("Klanten").Activate
Sheets(Array("Invoerblad", "Winkelier", "Offerte", "Off 10", "Off 25, "Factuur", "Fact 10", "Fact 25", "Klanten", "Brongegevens")).Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Offerte").Select
Cells.Select
Range("A43").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets(Array("Invoerblad", "Winkelier", "Offerte", "Off 10", "Off 25, "Factuur", "Fact 10", "Fact 25", "Klanten", "Brongegevens")).Select
Sheets("Invoerblad").Activate
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Invoerblad").Select
Range("B29").Select
ActiveWorkbook.Close
Sub Macro2()
'
' Macro2 Macro
' De macro is opgenomen op 20-1-2005 door Familie de Jong.

Alle verwijzingen naar de bladen worden rood! Dat klopt denk ik niet. Als voorloopnummer gebruik ik 2005, als aanvullendnummer 01xxx (begint met 001 en loopt dan vervolgens op. Kun je mij nog een keer uit de brand helpen?

alvast bedankt, emc.
Ps. ik heb jouw formule naar word gekopieerd, aangepast en vervolgens in mijn eigen bestand gekopieerd, dat moet toch kunnen?
 
De macro's in module2 kun je weggooien, was een test dingetje. Je zou de macro opslaan in module1 aan moeten passen.

De bladen worden rood doordat er na Off 25 geen aanhalingsteken staat.
 
Hoi Hans,

Op mijn werk heb ik een soortgelijk factuur gemaakt voor onze cateringmanager en het is gelukt!! Hardstikke bedankt voor al je tijd en moeite. Sorry voor de vorige spelfouten, ik had verschrikkelijke haast en te snel op de plaats bericht button geklikt.

Groetjes, emc.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan