Avatar billede wan68647 Nybegynder
06. maj 2009 - 12:35 Der er 2 kommentarer

Autonummer hjælp

Hejsa

Fra en tidligere tråd har jeg brugt læst hvordan man laver autonummer, men jeg sidder fast nu:

Jeg har lavet et excel ark som en "master" (xls-fil). Når jeg åbner arket, gemmer den som en ny og kalder arket for faktura 0002. Men når jeg åbner masteren igen, skriver den at faktura 0002 allerede eksistere. Dvs. den gemmer den ikke som en ny fil og kalder den 0003. Det gør den kun hvis jeg åbner faktura 0002.

Nogen der kan hitte ud hvad jeg gør forkert?

Her er min kode:

Private Sub Workbook_Open()

If ActiveWorkbook.Name = "Quotation_Fomular.xls" Then
    Worksheets("Motor Quotation").Range("B5") = Worksheets("Motor Quotation").Range("B5") + 1

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:="Quotation_", FileFormat:=xlNormal
    Application.DisplayAlerts = True

    StiNavn = "O:\02_A&D\AD_Kunder\g-h-i\Grundfos DK 8120747\Tilbud\Quotations\2009\"
    Filnavn = StiNavn & "Quotation_" & Format(Worksheets("Motor Quotation").Range("B5"), "0000")
    If Dir(Filnavn & ".xls") = "" Then
        ActiveWorkbook.SaveAs Filename:=Filnavn, FileFormat:=xlNormal
  Else
    MsgBox "Quotation does allready excist - Program terminated", vbCritical + vbOKOnly, "Kritisk fejl!"
    Application.Quit
    End If
End If

    With ActiveSheet
      .Protect Password:="ncj", UserInterfaceOnly:=True
      .EnableOutlining = True
    End With
   
End Sub
Avatar billede kabbak Professor
06. maj 2009 - 22:47 #1
det er fordi at sidst du op daterede var i faktura 0002, der er i den der står 2, din master bliver aldrig opdateret.

Gem nummeret i en tekstfil i stedet, læs ind og gem i den via kode, fra din master, så kører det.
Avatar billede kabbak Professor
06. maj 2009 - 22:57 #2
så vil koden se sådan ud

Private Sub Workbook_Open()
Dim StiNavn As String, Filnavn As String
Dim FakNr As Integer
If ActiveWorkbook.Name = "Quotation_Fomular.xls" Then

' Hent nummer, ret stien til din placering af filen
Open "C:\data\FakNr.txt" For Input As #1
    Input #1, FakNr
    Close
  'gem nummer, ret stien til din placering af filen
 
  Open "C:\data\FakNr.txt" For Output As #1
    Print #1, FakNr + 1
    Close
 
    Worksheets("Motor Quotation").Range("B5") = FakNr + 1
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:="Quotation_", FileFormat:=xlNormal
    Application.DisplayAlerts = True

    StiNavn = "O:\02_A&D\AD_Kunder\g-h-i\Grundfos DK 8120747\Tilbud\Quotations\2009\"
    Filnavn = StiNavn & "Quotation_" & Format(Worksheets("Motor Quotation").Range("B5"), "0000")
    If Dir(Filnavn & ".xls") = "" Then
        ActiveWorkbook.SaveAs Filename:=Filnavn, FileFormat:=xlNormal
  Else
    MsgBox "Quotation does allready excist - Program terminated", vbCritical + vbOKOnly, "Kritisk fejl!"
    Application.Quit
    End If
End If

    With ActiveSheet
      .Protect Password:="ncj", UserInterfaceOnly:=True
      .EnableOutlining = True
    End With
 
End Sub



Husk at oprette filen manuelt med wordpad først og skriv det sidste brugte nummer i den, inden du kører koden.
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