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

Automatisch oplopend factuurnummer

Status
Niet open voor verdere reacties.

RubenvD

Gebruiker
Lid geworden
1 jun 2018
Berichten
6
Hallo beste forum-gangers,

Ik heb gezien dat dit topic al reeds aantal keren voorbij is gekomen. Nu heb ik echt alles gelezen en het proberen te begrijpen, maar helaas heb ik tot nu toe het nog steeds niet onder de knie. Vandaar dat ik dus toch maar zelf ook een topic open, in de hoop dat jullie hiermee mij kunnen helpen.

Het gaat om een automatisch oplopend factuurnummer, of in mijn geval een kassabon nummer (zelfde principe).
Het wordt opgeslagen in de volgende map: I:\Heering Graveren\Kassabonnen

In de bijlage het bestand waar het om gaat, het moet oplopend (+1) gaan vanaf nummer 20180001.
Het vakje waarin het moet komen te staan is B7.

Let aub niet op de opmaak :p is een concept en wegens privacy allerlei regels weg gehaald.

Ik kijk uit naar de reacties!

Groet,
Ruben van Dijk
 

Bijlagen

  • 20180001.xlsx
    13,3 KB · Weergaven: 203
Met deze procedure kun je met verschillende collega's tegeljkertijd unieke opeenvolgende bonnummers maken.

Code:
Private Sub Workbook_Open()
    c00 = "G:\OF\"
    
    If Dir(c00 & "*.fff") = "" Then Open c00 & "0000.fff" For Output As #1
    Close
    c01 = Val(Dir(c00 & "\*.fff"))
    Sheets(1).Cells(7, 2) = Year(Date) & Format(c01, "\.0000")
    Name c00 & Format(c01, "0000\.fff") As c00 & "\" & Format(Val(c01) + 1, "0000") & ".fff"
End Sub
 
Sorry correctie ontbrak streepje in code

Bekijk bijlage 326119

Bedankt Loek! Als ik inderdaad op opslaan klikt dan loopt het nummer automatisch één omhoog en kan ik opnieuw de tekst invoeren.

Welke code heb jij gebruikt? En als ik zo'n code toevoeg, kan ik dat gewoon in een excel vakje plakken of moet er een = voor staan?
Ik snap ook niet hoe je het knopje opslaan hebt gekregen ...

Kan je me dit uitleggen? Sorry, ben geen ster in excel.
 
Laatst bewerkt:
Met deze procedure kun je met verschillende collega's tegeljkertijd unieke opeenvolgende bonnummers maken.

Code:
Private Sub Workbook_Open()
    c00 = "G:\OF\"
    
    If Dir(c00 & "*.fff") = "" Then Open c00 & "0000.fff" For Output As #1
    Close
    c01 = Val(Dir(c00 & "\*.fff"))
    Sheets(1).Cells(7, 2) = Year(Date) & Format(c01, "\.0000")
    Name c00 & Format(c01, "0000\.fff") As c00 & "\" & Format(Val(c01) + 1, "0000") & ".fff"
End Sub

Dit plak ik dan in de desbetreffende cel waar het nummer moet komen? Moet er een = voor?
 
@Beste Rubenvd

Je kan de code van mij en snb niet in een excel vakje plaatsen.

je zult de code moeten plaatsen via de VBA editor Alt F11 op je toetsenbord
daar zie je je tabbladen klik met je rechtermuisknop op blad1 en kies programmacode weergeven,
daar staat de code voor commandbutton1 ( Opslaan) die het nummer verhoogt en je blad schoonmaakt en opslaat
als pdf in jouw aangegeven bestandsmap

de knop opslaan maak je via in het lint Ontwikkelaars en invoegen kies je ActiveXcontrol knop die je dan in
je werkblad kan plaatsen

zo ook de code van snb die code plaats je in de VBA editor in ThisWorkbook zoals de sub al aangeeft.


Tevens moet je het Excel bestand opslaan als een macro bestand met de extensie xlsm
een xlsx bestand kan geen code of macro's bevatten.



Groet Loek010:thumb:
 
@Beste Rubenvd

Je kan de code van mij en snb niet in een excel vakje plaatsen.

je zult de code moeten plaatsen via de VBA editor Alt F11 op je toetsenbord
daar zie je je tabbladen klik met je rechtermuisknop op blad1 en kies programmacode weergeven,
daar staat de code voor commandbutton1 ( Opslaan) die het nummer verhoogt en je blad schoonmaakt en opslaat
als pdf in jouw aangegeven bestandsmap

de knop opslaan maak je via in het lint Ontwikkelaars en invoegen kies je ActiveXcontrol knop die je dan in
je werkblad kan plaatsen

zo ook de code van snb die code plaats je in de VBA editor in ThisWorkbook zoals de sub al aangeeft.


Tevens moet je het Excel bestand opslaan als een macro bestand met de extensie xlsm
een xlsx bestand kan geen code of macro's bevatten.



Groet Loek010:thumb:

Super, duidelijk! Vandaar dat er nooit iets gebeurde als ik het zo in een cel plakte, best logisch ook :eek:.

Laatste vraagje, stel ik wil het als volgt hebben: HG-20180001 en dan de volgende nummers steeds +1, wat dien ik dan te veranderen aan de code?
 
@RubenvD

Verander de code dan in :

Code:
Private Sub CommandButton1_Click()
Dim Kassabon As String
Dim sPrefix As String
sPrefix = "HG-"
Kassabon = ActiveSheet.Range("B7").Value
ActiveSheet.ExportAsFixedFormat 0, "I:\Heering Graveren\Kassabonnen\" & "Kassabon." & Kassabon & ".pdf"
Range("B8").Value = Range("B8").Value + 1 [COLOR="#FF0000"]'<----- Extra hulpcel in Cel B8 vul hier alleen nummer in 20180001[/COLOR]
Range("B7").Value = sPrefix & Range("B8").Value
Range("A11:E21").ClearContents
MsgBox "Kassabon opgegeslagen in I:\Heering Graveren\Kassabonnen",vbInformation,""
End Sub


Groet,

Loek010 :thumb:
 
@RubenvD

Verander de code dan in :

Code:
Private Sub CommandButton1_Click()
Dim Kassabon As String
Dim sPrefix As String
sPrefix = "HG-"
Kassabon = ActiveSheet.Range("B7").Value
ActiveSheet.ExportAsFixedFormat 0, "I:\Heering Graveren\Kassabonnen\" & "Kassabon." & Kassabon & ".pdf"
Range("B8").Value = Range("B8").Value + 1 [COLOR="#FF0000"]'<----- Extra hulpcel in Cel B8 vul hier alleen nummer in 20180001[/COLOR]
Range("B7").Value = sPrefix & Range("B8").Value
Range("A11:E21").ClearContents
MsgBox "Kassabon opgegeslagen in I:\Heering Graveren\Kassabonnen",vbInformation,""
End Sub


Groet,

Loek010 :thumb:

Bedankt! Het is gelukt, er mag een slotje op :).
 
@RubenvD

Geen dank, slotje moet jij zelf doen.
Zet vraag op opgelost als je vraag is opgelost.


Groet Loek010 :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan