سؤال

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
هل كانت مفيدة؟

المحلول

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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top