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

factuurnummer automatisch ophogen in excel

Status
Niet open voor verdere reacties.

leeuw101

Gebruiker
Lid geworden
26 nov 2012
Berichten
12
Hallo,

Ik heb een factuur gemaakt in excel en nu wil ik dat hij iedere keer als ik een nieuwe factuur maak hij automatisch het nummer met 1 ophoogd.
bijv. 2013001 moet de volgende keer bij het openen 2013002 worden. Ik sla de facturen op in een apparte map onder factuurnummer en naam klant erachter.
Het nummer moet in de sheet op D9 komen. Heb al wat macro's gevonden en geprobeert maar kom er niet goed uit.

Wie o wie kan mij helpen dit op te lossen.
 
Daar is niet meer voor nodig dan dit:

Code:
Private Sub Workbook_Open()
  [D9] = [D9] + 1
End Sub
 
Dank je Cobbe voor je snelle reactie.


Haalt ie dan het volgende nummer uit de map waar alles is opgeslagen of typ ik het eerste nummer de eerste keer en telt hij dan verder. Wil dubbele nummers zoveel mogelijk voorkomen. Dus de mogelijkheid voor fouten wat beperken.

Gr Noëlla
 
Als alle opgeslagen facturen in dezelfde map staan, kan het niet fout gaan met onderstaande code.
Deze telt alle bestanden die in die map staan.
Het volgende nummer is het aantal bestanden + 1.
De schijf heb ik staan op "D" en de map waar alle facturen in staan heet "facturen" (aanpassen naar wens dus).

Code:
Private Sub Workbook_Open()
Dim bestandopen As String, counter As Long
 bestandopen = Dir("D:\facturen\*")
    Do Until bestandopen = ""
      If bestandopen = "" Then Exit Do
        counter = counter + 1
      bestandopen = Dir
    Loop
  Sheets(1).Range("A1") = Format(counter, "20130000") + 1
 End Sub
 
Laatst bewerkt:
Hallo Harry,

Bedankt voor de code.

Ik heb de code in this workbook geplakt de directory aangepast en A1 veranderd in D9.
Hij blijft echter telkens met factuur 2013001 komen terwijl als ik die opsla en een nieuwe factuur open hij met 2013002 zou moeten komen

Doe waarschijnlijk iets niet goed maar kom er niet achter wat. gebruik wel steeds een blanco factuur die de naam factuur heeft zonder verder een nummer erachter.
 
Bij mij werkt het zonder problemen.
Het factuurnummer wordt steeds opgehoogd met 1.

Staat het vermenigvuldigingsteken "*" nog aan het eind van je directory ?
Wil je de code hier eens plaatsen?
 
Mist een deel van het vermeningsvuldigings teken. Had het aangepast maar krijg nu een syntaxisfout als melding.

Dit is de code

Code:
Private Sub Workbook_Open()
Dim bestandopen As String, counter As Long
 bestandopen = Dir("C:\Gebruikers\Leeuwenburg\Mijn documenten\facturen2013\"*")
    Do Until bestandopen = ""
      If bestandopen = "" Then Exit Do
        counter = counter + 1
      bestandopen = Dir
    Loop
 With Sheets(1)
   .Range("D9").ClearContents
   .Range("D9") = Format(counter, "2013000") + 1
 End With
End Sub
 
Laatst bewerkt door een moderator:
Zo moet het vlekkeloos gaan.
Code:
Private Sub Workbook_Open()
Dim bestandopen As String, counter As Long
 bestandopen = Dir("C:\Gebruikers\Leeuwenburg\Mijn documenten\facturen2013\*")
    Do Until bestandopen = ""
      If bestandopen = "" Then Exit Do
        counter = counter + 1
      bestandopen = Dir
    Loop
 Sheets(1).Range("D9") = Format(counter, "20130000") + 1
End Sub
 
Laatst bewerkt:
Hoi Harry

Werkt nog niet. Als ik A1 in D9 verander komt hij weer met 2013001 en daarna hoogt hij weer niet op.
Als ik A1 laat staan vult hij helemaal niets in. Sla gewoon op met opslaan als en dan bestandsnaam 2013001.
Zal wel iets over het hoofd zien heb ook nog nooit met macro's in excel gewerkt. maar omdat we laatst een dubbelfactuur nummer hadden uitgegeven wilde ik dit systeem graag gaan gebruiken. Kan het liggen aan de versie van excel. Ik heb excel 2007 versie.

Gr Noëlla
 
Ik hoop wel dat als een factuur af is, dat je ze hier in opslaat.
Code:
C:\Gebruikers\Leeuwenburg\Mijn documenten\facturen2013
 
Ja sla hem in dezelfde map op. Ga alles nog eens goed nalopen mis dat me dan nog iets op valt.
Laat wel weten of ik het werkend heb gekregen. in ieder geval alvast bedankt voor je hulp tot nu toe.
 
leeuw101,

Als je er dit van maakt?
Code:
Sheets(1).Range("D9").[COLOR=#FF0000][/COLOR][COLOR=#FF0000]value[/COLOR] = Format(counter, "20130000") + 1
 
Laatst bewerkt:
Heb hem werkend hoor. Helemaal super zo. Iedereen harstikke bedankt voor aslle hulp.

Gr Noëlla
 
Wat was de oorzaak dat het niet werkte?
Zodat een ander er ook wat van leert.
 
Laatst bewerkt:
In de directory moest het users zijn en niet gebruikers. Zag ik toen ik bij het bestand op eigenschappen klikte.
Als je de map zelf ziet staat er gewoon gebruikers dus vandaar dat ik dat had genomen.
Klein foutje dus maar wel crutiaal om het werkend te krijgen.
 
Code:
Private Sub Workbook_Open()
    Sheets(1).Range("D9") = Format(CreateObject("scripting.filesystemobject") _
        .getfolder("C:\Users\Leeuwenburg\Mijn documenten\facturen2013\").Files.Count, "20130000") + 1
End Sub
 
Die is lekker kort Rudi.
Die bewaar ik maar eens even. :thumb:
 
Windows werkt altijd met de mapnaam Users.
In de nl versie wordt deze in de gui vertaald naar gebruikers maar op de achtergrond (en in de code) wordt deze alsnog als users aangesproken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan