Question

I am creating userform which I will be using to insert data and then make some other stuff.

I have a Userform with ComboBox and few TextBoxes. ComboBox is filled with data from range. I want to change values of TextBoxes depending on ComboBox value. Values of TextBoxes should be filled with specific values from worksheet. I thought about creating For Each loop to determine Row of chosen ComboBox value and then change TextBoxes using Row number and setting proper offset.

Worksheet is table with headers and filled with data such as name, city etc.

However my code does not work within Userform.

Any ideas what is wrong or maybe a different approach to a problem?

klient = ComboBox name

Private Sub klient_Change()

Dim MyCell As Range, MyRange As Range
Dim wiersz As Long

Set MyRange = Range("klienci")

For Each MyCell In MyRange
    If klient.Value = MyCell.Value Then
    wiersz = MyCell.Value
    Exit For:
    End If
Next

MsgBox (wiersz)

End Sub
Was it helpful?

Solution

As follow up from comments to the questions, this code works:

Private Sub klient_Change()
    MsgBox Range("klienci").Cells(1 + Klient.ListIndex, 1).Address
    'do something else, e.g. get element one to the right:
    MsgBox Range("klienci").Cells(1 + Klient.ListIndex, 1).Offset(,1).Address
End Sub
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top