Avatar billede Aggerz Nybegynder
22. marts 2011 - 15:27 Der er 2 kommentarer og
1 løsning

Formattering af tal

Hej

Jeg har fundet denne lækre kode, som giver mig fortløbende nummerering, hvor nummereringen ikke er "bruger-begrænset".

Jeg kunne godt tænke mig, at min nummerering skal starte med 000001, istedet for 1 - hvordan gøres dette?

Koden:
Public Function NextSeqNumber(Optional sFileName As String, Optional nSeqNumber As Long = -1) As Long
        Const sDEFAULT_PATH As String = "C:\...."
        Const sDEFAULT_FNAME As String = "defaultseq.txt"
        Dim nFileNumber As Long
       
        nFileNumber = FreeFile
        If sFileName = "" Then sFileName = sDEFAULT_FNAME
        If InStr(sFileName, Application.PathSeparator) = 0 Then _
            sFileName = sDEFAULT_PATH & Application.PathSeparator & sFileName
        If nSeqNumber = -1& Then
            If Dir(sFileName) <> "" Then
                Open sFileName For Input As nFileNumber
                Input #nFileNumber, nSeqNumber
                nSeqNumber = nSeqNumber + 1&
                Close nFileNumber
            Else
                nSeqNumber = 1&
            End If
        End If
        On Error GoTo PathError
        Open sFileName For Output As nFileNumber
        On Error GoTo 0
        Print #nFileNumber, nSeqNumber
        Close nFileNumber
        NextSeqNumber = nSeqNumber
        Exit Function
PathError:
        NextSeqNumber = -1&
    End Function
   
    Public Sub Workbook_Open()
        ThisWorkbook.Sheets(1).Range("E2").Value = NextSeqNumber
    End Sub
Avatar billede kabbak Professor
22. marts 2011 - 17:14 #1
Public Function NextSeqNumber(Optional sFileName As String, Optional nSeqNumber As Long = -1) As String
        Const sDEFAULT_PATH As String = "C:\Data"
        Const sDEFAULT_FNAME As String = "defaultseq.txt"
        Dim nFileNumber As Long
        Dim Nuller As String
      Nuller = "000000"
        nFileNumber = FreeFile
        If sFileName = "" Then sFileName = sDEFAULT_FNAME
        If InStr(sFileName, Application.PathSeparator) = 0 Then _
            sFileName = sDEFAULT_PATH & Application.PathSeparator & sFileName
        If nSeqNumber = -1& Then
            If Dir(sFileName) <> "" Then
                Open sFileName For Input As nFileNumber
                Input #nFileNumber, nSeqNumber
                nSeqNumber = nSeqNumber + 1&
                Close nFileNumber
            Else
                nSeqNumber = 1&
            End If
        End If
        On Error GoTo PathError
        Open sFileName For Output As nFileNumber
        On Error GoTo 0
        Print #nFileNumber, nSeqNumber
        Close nFileNumber
        NextSeqNumber = Left(Nuller, 6 - Len(Trim(nSeqNumber))) & nSeqNumber
        Exit Function
PathError:
        NextSeqNumber = -1&
    End Function

formater cellenSheets(1).Range("E2") som tekst
Avatar billede Aggerz Nybegynder
23. marts 2011 - 09:47 #2
Super, mange tak! :-)
Avatar billede kabbak Professor
23. marts 2011 - 17:39 #3
et svar ;-))
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
Kurser inden for grundlæggende programmering

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