Excel VBA:Userform - 文本框值取决于组合框值

时间:2014-02-26 16:47:29

标签: excel-vba combobox textbox userform vba

我正在创建userform,我将用它来插入数据,然后制作其他东西。

我有一个带有ComboBox和少量TextBox的Userform。 ComboBox充满了范围内的数据。我想根据ComboBox值更改TextBoxes的值。应使用工作表中的特定值填充TextBoxes的值。我考虑创建For Each循环以确定所选ComboBox值的行,然后使用行号更改TextBox并设置适当的偏移量。

工作表是带有标题的表格,并填充了名称,城市等数据。

但是我的代码在Userform中不起作用。

任何想法有什么不对,或者可能采用不同的方法处理问题?

klient = ComboBox名称

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

1 个答案:

答案 0 :(得分:0)

从评论到问题的后续跟进,此代码有效:

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