Avatar billede amussse Nybegynder
21. oktober 2007 - 11:02 Der er 7 kommentarer og
1 løsning

Excel aut. nummerering

Hej

Jeg har ledt herinde og har fundet lidt om en kode i Excel
der opretter nyt nummer i et Excel ark,og skal gemme det automatisk. (det er sjap der er mester for den VBA kode)
Jeg kan ikke få det til at fungere på mit eget ark.
Kan det være pga af diverse versioner af Excel osv. ???

Janni
Avatar billede word-hajen Nybegynder
21. oktober 2007 - 11:05 #1
Kan vi se den kode, du bruger eller (hvis du bruger den præcis, som du ellers har fundet den herinde) laver du en henvisning til der, hvor du har fundet den?
Avatar billede amussse Nybegynder
21. oktober 2007 - 11:22 #2
http://www.eksperten.dk/spm/614711

Det er den her jeg har kigget i.

Koden er :
Private Sub Workbook_Open()

If ActiveWorkbook.Name = "Fak1" Then
    Worksheets("Faktura").Range("H13") = Worksheets("Faktura").Range("H13") + 1

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs FileName:="Fak", FileFormat:=xlTemplate
    Application.DisplayAlerts = True

    StiNavn = "C:\Faktura\"
    Filnavn = StiNavn & "Fak" & Format(Worksheets("Faktura").Range("H13"), "0000")
    If Dir(Filnavn & ".xls") = "" Then
        Worksheets("Faktura").Range("H12") = Date
        Worksheets("Faktura").Range("H17") = Date + 15 + IIf(WeekDay(Date + 15) = 1, 1, IIf(WeekDay(Date + 15, 2) = 7, 2, 0))
        ActiveWorkbook.SaveAs FileName:=Filnavn, FileFormat:=xlNormal
        Worksheets("Faktura").Range("H14").Select
    Else
        MsgBox "Fakturanummer " & Format(Worksheets("Faktura").Range("H13"), "0000") & " eksisterer allerede. Programmet afsluttes", vbCritical + vbOKOnly, "Kritisk fejl!"
        Application.Quit
    End If
End If

End Sub


Jeg har ikke brug for selve betalingsdato delen.

De første koder sjap skriver virker gangske fint, men når jeg så skal bruge

If ActiveWorkbook.Name = "Fak1" Then
    Worksheets("Faktura").Range("H13") = Worksheets("Faktura").Range("H13") + 1


så virker den ikke.

Janni
Avatar billede amussse Nybegynder
21. oktober 2007 - 11:25 #3
mit egentlige problem er, at når man åbner et ark der har fået tildelt et nummer, så tæller den op på det ark.

Det skal den ikke !

Havde leget lidt med ideen om at koden ikke skulle overføres til det nye ark, men jeg er ikke skide stærk i VBA.

Janni
Avatar billede word-hajen Nybegynder
21. oktober 2007 - 12:31 #4
Den første del af koden er der, hvor du siger, at det ikke virker. Men dit problem er vel egentlig ikke, at det ikke virker, men at det rent faktisk gør? Du vil ikke have, at den får et automatisk nummer? Eller hvad?

I øvrigt får den kun et nyt nummer, hvis din fil hedder Fak1 - og det gør den vel ikke, når du har gemt den og åbner den igen?
Avatar billede amussse Nybegynder
21. oktober 2007 - 13:07 #5
jo faktisk .. jeg åbner templaten (FAK1). Mit problem er at jeg ikke kan få den til at generere et nyt når jeg åbner templaten.
Avatar billede word-hajen Nybegynder
21. oktober 2007 - 16:00 #6
Det lyder til, at du bruger din fil forkert. Du skal ikke åbne templaten (som hedder Fak og ikke Fak1). Du skal dobbeltklikke på den, så får du en ny "tom" fil (den hedder så reelt Fak1, indtil den er gemt, hvilket sker automatisk), som:

1. laver et nyt nummer
2. gemmer filen som template (oven i den eksisterende, så templaten altid har det senest generede nummer)
3. gemmer filen igen, nu som en alm. Excel-fil og navngivet med det nummer, som lige er dannet
Avatar billede amussse Nybegynder
22. oktober 2007 - 13:27 #7
Hej Word-haj


Du har helt ret.
Tak for hjælpen
Smider du et svar ??


Janni
Avatar billede word-hajen Nybegynder
22. oktober 2007 - 17:36 #8
Velbekomme :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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