根据组合框索引更改标签标题?

时间:2013-11-13 20:51:41

标签: excel vba combobox userform

我有一个带有组合框的用户窗体,其中填充了存储在隐藏工作表中的客户端名称列表。我正在尝试这样做,以便用户可以选择一个名称,然后单击一个按钮,显示该客户端的个人资料(姓名地址,电话号码等)。

在我做其他字段之前,我正试图让它为名称工作。当我查看配置文件时,名称标签(我将其命名为name_)为空。 ClientBox是组合框的名称,其名称位于userform2上,而ClientProfile是具有name_ label的用户形式的名称。

最后2行注释掉了我尝试此方法之前的尝试。这两种方法都不起作用。

Sub ProfilePopulator()
    Dim index As Integer, str As String
    Application.ScreenUpdating = False
    Sheets("Clients").Visible = True
    Sheets("Clients").Select
    Range("A1").Select
    index = UserForm2.ClientBox.ListIndex
    str = Cells(index + 1, 1)
    ClientProfile.Name_.Caption = str
    'ActiveCell.Offset(index, 0).Select
    'ClientProfile.Name_.Caption = ActiveCell
End Sub

1 个答案:

答案 0 :(得分:0)

问题实际上并不在代码的这一部分(oops)。它位于按钮的代码中,用于打开ClientProfile用户表单。在我之前:

Private Sub CommandButton2_Click()
UserForm2.Hide
ClientProfile.Show
Call ProfilePopulator
End Sub

ProfilePopulator必须在显示 ClientProfile之前运行,所以现在看起来像这样并且它可以工作:

Private Sub CommandButton2_Click()
UserForm2.Hide
Call ProfilePopulator
ClientProfile.Show
End Sub