Avatar billede jesperolesen Nybegynder
19. maj 2007 - 00:06 Der er 5 kommentarer og
1 løsning

Automatisk faktura-nummerering

Hej.


Jeg er ved at lave en faktura-'blok' hvor kun faktura-numrene og diverse oplysninger om firmaet står på. Når de så er udskrevet skriver jeg manuelt på arket med kalker-papir i mellem.

Jeg HAR fået den til at tælle hver gang jeg udskriver, men den kan ikke huske hvilket nummer jeg er kommet til når jeg gemmer og lukker, og jeg skal også aktivere hvert ark imellem hver udskrift for at den opdaterer tallet. Er der en løsning på det?

Jeg har to ark. Et som Kunde-kopi, og et som Arkiv-kopi. Er det muligt at lave det sådan at jeg ikke skal ind at definere ved hver udskrift at det skal være hele projektmappen den skal udskrive.

Og så vil det være rart hvis den vil starte med nummer 100001


Her følger den VBA-kode jeg har brugt (har fundet den her på siden):

Kunde-kopi:

Private Sub Worksheet_Activate()
Close #2
Range("f8") = Tal1
End Sub


Arkiv-kopi:

Private Sub Worksheet_Activate()
Close #2
Range("f8") = Tal1
End Sub


ThisWorkBook:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
A = ActiveSheet.Name
Select Case A
Case "Kunde-kopi"
Tal1 = Tal1 + 1
Open "C:\Skabelontæller.txt" For Output As #2
Print #2, Tal1; Tal2
Close #2

Case "Arkiv-kopi"
Tal2 = Tal2 + 1
Open "C:\Skabelontæller.txt" For Output As #2
Print #2, Tal1; Tal2
Close #2


End Select
End Sub


Module1:

Global Tal1
Global Tal2



Håber i kan hjælpe, og hvis det er helt uforståeligt så skal jeg prøve at omformulere det!

På forhånd tak.

Med venlig hilsen
Jesper
Avatar billede excelent Ekspert
20. maj 2007 - 12:57 #1
Det ser ud til du mangler den del som gemmer Fakturanummer
her er et eks. på en fil som Gemmer og en som Henter
fakturanummer til/fra celle F8 i ark Arkiv-kopi
men der skal være en bestemt hændelse som aktiverer dette ?


Sub FaknrGem()
Open "C:\FakturaNr.txt" For Output As #2
Write #2, Sheets("Arkiv-kopi").Range("F8").Value + 1
Close #2
End Sub

Sub FaknrHent()
Open "C:\FakturaNr.txt" For Input As #2
Input #2, FakNr
Close #2
Sheets("Arkiv-kopi").Range("F8") = FakNr
End Sub
Avatar billede excelent Ekspert
20. maj 2007 - 12:59 #2
En hændelse kunne være når du Åbner, Lukker en projektmappe
eller når du udskriver, eller skifter Ark osv.
Hvilken foretrækker du ?
Avatar billede jesperolesen Nybegynder
20. maj 2007 - 14:39 #3
Den skal selvfølgelig gemme fakturanummeret når jeg lukker skabelonen og hente det igen når jeg åbner. men det vil være fint hvis den selv kan opdatere fakturanummeret hver gang jeg udskriver.

Er det så den kode som beskrevet ovenover som jeg skal bruge?
Avatar billede excelent Ekspert
20. maj 2007 - 14:56 #4
Indsæt alle 3 koder i ThisWorkbook-modulet

'Gemmer nr. som står i celle F8 når der lukkes
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Open "C:\FakturaNr.txt" For Output As #2
Write #2, Sheets("Arkiv-kopi").Range("F8").Value
Close #2
End Sub

'Henter Fakturanummer når der åbnes
Private Sub Workbook_Open()
Open "C:\FakturaNr.txt" For Input As #2
Input #2, FakNr
Close #2
Sheets("Arkiv-kopi").Range("F8") = FakNr
Sheets("Kunde-kopi").Range("F8") = FakNr
End Sub

'Opdaterer/Øger Fakturanummer med 1 i begge ark hver gang du udskriver
'(var det det du mente)?
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets("Arkiv-kopi").Range("F8") = Sheets("Arkiv-kopi").Range("F8") + 1
Sheets("Kunde-kopi").Range("F8") = Sheets("Kunde-kopi").Range("F8") + 1
End Sub
Avatar billede jesperolesen Nybegynder
20. maj 2007 - 20:35 #5
Det var lige det jeg skulle bruge!
Det er godt der er nogen der er klogere end mig til de koder.

Jeg siger bare tusind mange tak!
Avatar billede excelent Ekspert
20. maj 2007 - 20:43 #6
ja det er en noget speciel dialekt :-)

og velbekom
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester