Just nu i M3-nätverket
Jump to content

Listbox som kräver aktivt val


Tommy H
 Share

Recommended Posts

  • Hej igen!

Det går framåt ?

Nu har jag bara ett problem kvar som ligger en bit ner i koden!

Hur löser man det att man måste göra ett aktivt val i Litboxen?

Dvs. koden ska ej gå vidare innan det finns ett val!

 

Private Sub CommandButton1_Click()
'Kör
    Dim stPrefix As String
    Dim stÅr As String
    Dim stMånad As String
    Dim targetcell, target As String
    Dim stLöpnummer As String
    Dim stAntal As Integer
    Dim WsTarget As Worksheet
    Dim i, j, k As Integer
    Dim ValdaBlad As String
    
            Set WsTarget = ActiveSheet
        'Inmatning av målcell
            targetcell = Application.InputBox("Målcellen:", _
            "t.ex D6", Type:=2)
            TextBox1 = targetcell
        
        'Inmatning av inledande sträng
            stPrefix = Application.InputBox("Ange Prefix:", _
            "Inledande text/nummer", Type:=2)
            TextBox2 = stPrefix
        
        'Inmatning av årtal
            stÅr = Application.InputBox("Ange Årtalet:", _
            "Årtal 2st siffror", Type:=1)
            TextBox2 = stPrefix & stÅr
        
        'Inmatning av månad
            stMånad = Application.InputBox("Ange Månaden:", _
            "Månaden med siffror", Type:=1)
        'Om månaden endast innehåller en siffra, så lägg en nolla framför
        If Len(stMånad) < 2 Then
            stMånad = "0" & stMånad
        End If
            TextBox2 = stPrefix & stÅr & stMånad
        
        'Inmatning av första löpnumret
            stLöpnummer = Application.InputBox("Första löpnumret:", _
            "Första Löpnummer", Type:=1)
        
        If Len(stLöpnummer) < 10 Then
               stLöpnummer = "0" & "0" & stLöpnummer
        ElseIf stLöpnummer < 100 Then
               stLöpnummer = "0" & stLöpnummer
        End If
            TextBox2 = stPrefix & stÅr & stMånad & stLöpnummer
        
        'Inmatning av antal löpnummer
            stAntal = Application.InputBox("Hur många Löpnummer:", _
            "Antal Löpnummer", Type:=1)
            TextBox3 = stAntal
        
        'Listar upp alla bladflikar i Excelfilen
        With ListBox1
            .Clear
            For j = 1 To ActiveWorkbook.Sheets.Count
                .AddItem ActiveWorkbook.Sheets(j).Name
            Next j
        End With
    


  
 Här måste användaren göra ett val i Listbox1!

Jag får inte riktigt till det, för koden bara passerar utan att man har gjort ett aktivt val!
  
  
 

 

    For k = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(k) Then
            ValdaBlad = ListBox1.List(k) & "," & ValdaBlad
        End If
    Next k
        If ValdaBlad = "" Then
                MsgBox "Inget blad är markerat, avslutar!"
                ListBox1.Clear
                UserForm2.Hide
                Exit Sub
        End If
        
                ValdaBlad = Left(ValdaBlad, Len(ValdaBlad) - 1)
                Sheets(Split(ValdaBlad, ",")).Select
                WsTarget.Activate
                WsTarget.Range(targetcell).NumberFormat = "@"
        
    Do Until i = stAntal
                  i = i + 1
            
                WsTarget.Range(targetcell).NumberFormat = "@"
                WsTarget.Range(targetcell).Value = (stPrefix & stÅr & stMånad & CStr(stLöpnummer))
                ActiveWindow.SelectedSheets.PrintOut
    Loop

ListBox1.Clear
UserForm2.Hide

End Sub

 

Link to comment
Share on other sites

Tycker det ser ut som att du behöver en IF-sats som kontrollerar om val gjort och om det inte är sant ta fram en msgbox, meddela fel och göra en exit sub efter detta för att avsluta körningen.

 

Känner inte till någon kod där man på enkelt sätt kan pausa kod i väntan på aktion i en listbox utan du får gå ur din kod och låta dem välja för att sedan starta om koden via knappen du nu startar den. Kanske bäst att göra alla dessa kontroller det första du gör i koden? Vet ej det senare för har inte tittat på hela koden i detalj.

Link to comment
Share on other sites

Ok!

jag har dock för dålig koll på Lisbox funktionerna. För försöka stuva om lite.

egentligen så handlar det ju om att det måste finnas ett valt värde ut Listboxen för att komma vidare....

Tack för svaret.

Link to comment
Share on other sites

Jo, vi har varit inne på det. Jag förstår inte riktigt hur det fungerar med Listboxarna men det har du visat här!

Ett stort tack!

Link to comment
Share on other sites

 Share



×
×
  • Create New...