Skapa automatiskt löpnummer


Här demonstreras ett relativt enkelt sätt att skapa löpande nummer, vilket kan användas för t ex ordernummer m m i kalkylblad. För att generera löpnummer i formulär (UserForm) krävs en annan teknik, vilket också visas.


Vi behöver göra två saker för att få tillstånd löpnummer i ett kalkylblad.


Steg 1:


Vill man sedermera "nollställa" räknaren ändras det definierade värdet till 0 igen.


Steg 2:

Följande kod placeras i modulen "DennaArbetsbok/ThisWorkbook":

Option Explicit

Private Sub Workbook_Open()
Dim Nummer As Integer

Application.ScreenUpdating = False

'Tilldelar variabeln värdet av det definierade namnets nuvarande
'konstantvärde.
Nummer = Mid(ActiveWorkbook.Names("OrderNr").Value, 2, 99)

'Ökar det definierade namnets konstantvärde med 1.
ActiveWorkbook.Names("OrderNr").RefersTo = "=" & Trim(Nummer + 1)

Application.ScreenUpdating = True

End Sub


Antag istället att vi vill skapa löpnummer automatiskt i ett formulär. Utöver arbetet med att skapa formuläret krävs följande kod:

Private Sub UserForm_Initialize()
Dim rgNr As Range

Set rgNr =
ActiveWorkbook.Worksheets("Dolt Blad").Range("A1")

'Ökar värdet i cellen A1 med 1.
rgNr.Value = rgNr + 1

'Tilldelar etiketten det konverterade värdet.
OrderNr.Caption = CStr(rgNr.Value)

End Sub

Option Explicit

Sub Visa_Formular()

'Visa formuläret
   UserForm1.Show
End Sub

En förutsättning för att ovanstående fungerar är att arbetsboken löpande sparas!