Inmatning av listvärden

I detta tips demonstreras hur vi på ett enkelt sätt skapar en procedur för inmatning av listvärden.  Exemplet visar hur vi kan ta emot indata  mha "Inputboxar" och där indata placeras löpande i tre kolumner.

Visserligen har vi det inbyggda verktyget "Formulär" att tillgå under Data-menyn men den kan ibland upplevas som begränsad och litet otymplig.

 

Option Explicit

 

Sub Mata_In_Listvarden()

  '© 2004 Alla rättigheter XL-Dennis

  Dim lnID As Long

  Dim stEnhetsID As String, stSerienr As String

  Dim lnNastaCell As Long

 

  Const stTitel As String = "Inmatning av listvärden"

 

  With ActiveSheet.Range("A1:C1")

    .Value = VBA.Array("ID", "Enhets-ID", "Serienummer")

    .Font.Bold = True

  End With

 

  Application.ScreenUpdating = False

 

  Do

    lnID = Application.InputBox("Ange ID:", stTitel, Type:=1)

 

    If lnID = 0 Then GoTo ExitHere

 

    stEnhetsID = Application.InputBox("Ange enhets-ID:", stTitel, Type:=2)

 

    If stEnhetsID = "Falskt" Then GoTo ExitHere

 

    stSerienr = Application.InputBox("Ange Serienummer:", stTitel, Type:=2)

 

    If stSerienr = "Falskt" Then GoTo ExitHere

 

    lnNastaCell = Range("A1").CurrentRegion.Rows.Count

 

    Cells(lnNastaCell + 1, 1) = lnID

    Cells(lnNastaCell + 1, 2) = stEnhetsID

    Cells(lnNastaCell + 1, 3) = stSerienr

  Loop

 

ExitHere:

  ActiveSheet.Columns("A:C").AutoFit

 

  Application.ScreenUpdating = True  

End Sub