Forfatter |
Emne Søg Emne funktioner
|
Ask
Bronze bruger
Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 48
|
Emne: Fakturanummer Sendt: 23.Maj.2011 kl. 21:32 |
Hey Excel sharks
Hvordan for man Excel til at genere et fortløbende fakturanumre?
Alan
|
|
|
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 24.Maj.2011 kl. 13:37 |
Hej Alan,
Denne stump VBA kan gøre tricket.
Den er måske ikke særlig elegant, men den virker uden at gøre det helt store væsen af sig.
Indsæt koden i et modul og start den hver gang du har færdiggjort en faktura.
Koden starter med fakturanummer 1 (Kan ændres).
Koden virker ved at se om du i forvejen har en faktura med nummer 1, har du ikke det gemmes faktura som nummer 1.
Hvis nummer 1 allerede eksisterer, gemmes som faktura 2.
Hvis nummer 2 allerede eksisterer, gemmes som faktura 3 osv.
Prøv den :-)
Sub Fakturanummer() 'Denne funktion genererer fortløbende fakturanumre i Excel '2011 Allan Thustrup Mortensen
NummerPlacering = Range("B1").Address 'Her står fakturanummeret på din faktura
FakturaArkiv = ThisWorkbook.Path 'Dette kunne også være f.eks "C:\faktura" Naeste:
If Dir(FakturaArkiv & Application.PathSeparator & "Faktura " & Range(NummerPlacering) & ".xls") <> "" Then Range(NummerPlacering) = Range(NummerPlacering) + 1 GoTo Naeste Else ThisWorkbook.SaveAs (FakturaArkiv & Application.PathSeparator & "Faktura " & Range(NummerPlacering) & ".xls") MsgBox "Fakturanr. " & Range(NummerPlacering) & " er nu gemt i mappen:" & vbNewLine & FakturaArkiv End If
End Sub
//Allan
|
|
Ask
Bronze bruger
Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 48
|
Sendt: 24.Maj.2011 kl. 20:00 |
Hej Allan og tak for dit svar.
Jeg forstår desværre ikke hvad jeg skal gøre? Hvad er et modul og hvordan starter man det? Kunne modul være det sammen som ThisWorkbook i Mac verden?
Kan du beskrive det lidt mere for en begynder
Jeg er klar over at Excel ikke er en database/kartotek som fx FileMaker, som jeg tidligere har benytte. I FileMaker laves fx en faktura database og hver ny faktura er et nyt kort i databasen. Jeg kan ikke lige gennemskue hvordan man gør dette i Excel eller om man overhovedet kan det i Excel? Indtil nu har jeg gemt min 'rene' Excel faktura fil som skabelon og vil gerne have et fortløbne nummer på fakturaen.
Det kunne også være super at have et kunde kartotek, så man ikke hver gang skal skrive kontakt data men kun skulle skrive et kunde nummer.
Alan
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 24.Maj.2011 kl. 20:33 |
Hej Alan, For at indsætte koden, skal du højreklikke på THISWORKBOOK og vælg 'Insert Module' Nu vil du kunne se et modul, som ligner en mappe liggende umiddelbart under THISWORKBOOK I dette modul, skal du indsætte koden. For at udløse koden, vil det være en god idé at lave en knap til formålet. Læg evt. din skabelon op her i forummet, så skal jeg nok bygge koden ind for dig. Start med at gemme filen i en mappe på din computer, tryk så på knappen og se hvad der sker. Tryk bare nogle gange. Prøv så at ændre fakturanummeret tilbage til 1 og tryk igen, du vil se at den nye faktura alligevel bliver tildelt næste nummer i serien for overskrivning af en faktura tillades ikke. Men som skrevet, upload din faktura og jeg vil kigge på den. //Allan
|
|
Ask
Bronze bruger
Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 48
|
Sendt: 24.Maj.2011 kl. 21:31 |
Hej Allan
Din kode virker desværre ikke på Mac.
Min test faktura
Alan
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 25.Maj.2011 kl. 14:05 |
Hvor vil du have at fakturanummeret skal stå?
|
|
Ask
Bronze bruger
Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 48
|
Sendt: 25.Maj.2011 kl. 20:21 |
Ark1: regningsgrundlag A2
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 26.Maj.2011 kl. 09:50 |
Hej Alan,
Jeg har ikke den store erfaring i at programmere VBA som skal afvikles på mac, men lad mig gøre et forsøg.
Denne fil som er din egen, er nu forsynet med fakturanummer-generatoren.
HUSK at gemme filen på din computer inden du klikker på knappen "Gem faktura"
//Allan
|
|
Ask
Bronze bruger
Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 48
|
Sendt: 26.Maj.2011 kl. 13:35 |
Hej Alan
Tak fordi du hjælper, men det virker ikke lige umiddelbart ? Jeg 'leger' lidt videre med din løsning. Er det ikke muligt automatisk at få genereret et fortløbne numre hver gang man opretter en ny Excel fil fra en skabelon?
Alan
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 26.Maj.2011 kl. 14:39 |
Hej igen,
Systemet vil faktisk gøre det automatisk, hvis følgende metode benyttes:
Opret en mappe og læg din fakturaskabelon deri.
Sørg for at fakturanummeret i din skabelon har det første nummer i din nummerserie. (Tast kun nummeret, ordet 'Fakturanummer' tilføjes automatisk)
Når du skal lave en ny faktura, åbner du bare skabelonen, laver fakturaen og trykker på knappen 'Gem Faktura'
Skabelonen vil automatisk finde den næste nummer, skrive det som fakturanummer og gemme sig under det som navn.
Næste gang du vil lave en faktura, så brug blot skabelonen igen, den vil altid give sig selv det næste nummer i serien og vil aldrig bruge samme nummer 2 gange.
//Allan
|
|
Ask
Bronze bruger
Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 48
|
Sendt: 28.Maj.2011 kl. 08:13 |
Hej Allan
Det virker desværre ikke på Mac
Men du skal have mange tak for forsøget
Alan
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 30.Maj.2011 kl. 08:57 |
Hej Alan,
Jeg er sikker på at fejlen ligger i forskellen på den måde som koden checker om fakturanummeret allerede eksiterer på hhv PC og Mac.
Altså: If Dir(FakturaArkiv & Application.PathSeparator & "Faktura " & Range(NummerPlacering) & ".xls") <> "" Then
Og muligvis også den efterfølgende gem-procedure.
Jeg tror at stien måske er problemet.
Er der en bruger som kender til mac som også er bekendt med VBA som kan rådgive mig i denne tråd?
Jeg har postet mit spørgsmål her:
//Allan
|
|