Avatar billede meiland Mester
26. april 2021 - 13:25 Der er 4 kommentarer og
1 løsning

VBA: Combobox problem

Hej alle.

Jeg har et ark med en vareoversigt, som jeg gerne vil opdatere (ikke tilføje nye varer) via en userform med combobox.
Men jeg kan ikke for den til at opdatere textboxen i userformen, når jeg vil have koden til at finde sidste række i kolonne A.

Hvad gør jeg forkert??

Arket ligger her: https://1drv.ms/x/s!AvYE-ZnehEAglT4vuFOsiV_x1Nmg?e=Ea7OoO
Avatar billede ebea Ekspert
26. april 2021 - 14:12 #1
Indsæt denne linje, i stedet for den du bruger:

TextBox1.Text = Application.VLookup(ComboBox1.Value, Worksheets("Ark1").Range("A2:C20"), 3, False)
Avatar billede meiland Mester
26. april 2021 - 14:31 #2
Hej ebea.
Jeg vil gerne have funktionen til at være dynamisk, da jeg ikke ved om der kommer 20 eller 500 vare-numre.

Jeg har fået denne kode til at virke:

Private Sub ComboBox1_Change()
    Dim lastrow As Integer
    navn = ComboBox1.Value
    lastrow = Sheets("ark1").Cells(Sheets("Ark1").Rows.Count, 1).End(xlUp).Row
    område = "A2:D" & lastrow
    pris = Application.WorksheetFunction.VLookup(navn, Sheets("Ark1").Range(område), 2, False)
    TextBox1.Value = pris
    lager = Application.WorksheetFunction.VLookup(navn, Sheets("Ark1").Range(område), 3, False)
    TextBox2.Value = lager

End Sub

Private Sub UserForm_Initialize()
    Dim lastrow As Integer
    Dim i As Integer
    lastrow = Sheets("ark1").Cells(Sheets("Ark1").Rows.Count, 1).End(xlUp).Row
    For i = 2 To lastrow
        ComboBox1.AddItem Sheets("Ark1").Cells(i, 1)
    Next i
       
End Sub
Avatar billede ebea Ekspert
26. april 2021 - 14:55 #3
#2 - Nu er jeg med på, hvad du mente. Så dit problem er løst, med din ændrede kode?
Avatar billede ebea Ekspert
26. april 2021 - 15:06 #4
#2 - Det er ikke nødvendigt at have den lange kode du har, for at dine TextBoxe viser noget tekst.  Koden herunder, laver det samme.

Private Sub ComboBox1_Change()
    TextBox1.Text = Application.WorksheetFunction.VLookup(ComboBox1.Value, xRg, 2, False)
    TextBox2.Text = Application.WorksheetFunction.VLookup(ComboBox1.Value, xRg, 3, False)
End Sub
Avatar billede meiland Mester
24. august 2021 - 23:26 #5
Hej ebea

Jeg har ikke lige opdage dine svar.
Jeg prøver dit løsning af ved lejlighed
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

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