Avatar billede hepygula Nybegynder
18. marts 2007 - 10:11 Der er 7 kommentarer og
1 løsning

Der er fejl i dette autonummering prg.

Hej.

Er der en venlig sjæl der vil hjælpe mig med at finde ud af hvad det er jeg her lavet galt i denne vba kode.

Jeg kan ikke få den til at lave auto nummering. Kun hvis jeg ændre i linien hvor den ser efter om der står et nummer i forvejen.

Det indvirker på at den laver nyt nummer når jeg åbner filen igen.

Håber der er en der kan se hvad der er lavet af fejl i koden. Koden er en jeg har fundet her inde, under spørgsmålet : http://www.eksperten.dk/spm/388759, og det var bak der var med til at hjælpe hende igennem hendes spørgsmål den gang.

Dette er lagt ind under thisworkbook:


Private Sub Workbook_Open()
If Sheets("Rapport").Range("D8") > 1 Then Exit Sub
RapNr
End Sub


Og dette under et modul ( ikke ind under fanbladet kaldt Rapport.

Sub RapNr()
Dim RapFil
Dim NyNr
Dim GiNr

    RapFil = "G:\rap.txt"
    Open RapFil For Input As #1
    Line Input #1, GiNr
    Close #1
    Open RapFil For Output As #1
    NyNr = Val(GiNr) + 1
    Print #1, NyNr
    Close #1
    Range("D8").Value = NyNr
   
End Sub
Avatar billede supertekst Ekspert
18. marts 2007 - 11:54 #1
Er det ikke fordi testes således, at det nye nr kun hentes, hvis D8 =< 1?

Hvis du retter testen således - så hentes nr, hvis det ikke er 1
Private Sub Workbook_Open()
If Sheets("Rapport").Range("D8") = 1 Then Exit Sub
RapNr
End Sub
Avatar billede hepygula Nybegynder
18. marts 2007 - 12:08 #2
Ja, det virker, det, med at hente nummeret. Men det skulle være sådan at når man så gemmer det, og vil genåbne det, skal den ikke forsætte med at lave et ny nummer. Men beholde det nummer som stod der da man gemte det.
Avatar billede hepygula Nybegynder
18. marts 2007 - 12:12 #3
Er det rigtig at denne del af vba koden skal ligge i et modul, og ikke i fanbladet Rapport ( ark 1 ) ?
Avatar billede supertekst Ekspert
18. marts 2007 - 12:22 #4
Er der en skabelon indblandet?
Avatar billede hepygula Nybegynder
18. marts 2007 - 12:28 #5
Nej det er der ikke, det bare et alm. regneark. Jeg ville lige havde det til at virke inden jeg lavede en skabelon.

Det eneste der er gjordt er at omdøbe fanblad akr 1 til Rapport.
Avatar billede supertekst Ekspert
18. marts 2007 - 12:39 #6
Hvis du opretter en skabelon - så kan der nemt skelnes mellem: første gang og alle øvrige gange du åbner filen - fordi så ikke hedder .xls første gang - men alle øvrige gange.

I ThisWorkbook anvendes så dette i stedet:

Private Sub Workbook_Open()
    If Right(LCase(ActiveWorkbook.Name), 4) <> ".xls" Then
        RapNr
    End If
End Sub
Avatar billede hepygula Nybegynder
18. marts 2007 - 12:48 #7
Tak for hjælpen, det virker som det skal.

Hvis du lægger et svar, kommer der nogle point til dig.

Forsat god søndag. :-)
Avatar billede supertekst Ekspert
18. marts 2007 - 14:19 #8
Selv tak - og i lige måde....
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

IT-JOB