从工作表单元格选择结果到用户窗体组合框

时间:2019-05-06 07:55:20

标签: excel vba

我有具有组合框的用户窗体。组合框的选择范围是工作簿,此VBA将输入的拾取结果传递到单元格C79:

Private Sub ComboBox1_Change()
ThisWorkbook.Worksheets("Other Data").Range("C79").Value = Me.ComboBox1.Value
End Sub

问题是,当我第二次打开用户窗体时,在组合框中看不到提取结果,因此我必须再次提取它。如何将单元格C79链接到Private Sub UserForm_Initialize(),以便当我打开UserForm时,来自C79的值将在Combobox1中可见?

我尝试过:

Private Sub UserForm_Initialize()
    ComboBox1.List = ThisWorkbook.Sheets("Other Data").Range("A79:A81").Value ' This one picks the range
    'ThisWorkbook.Sheets("Other Data").Range("C79").Value = ReviewForm.ComboBox1.Value
End Sub

1 个答案:

答案 0 :(得分:3)

要在用户窗体中填充ComboBox控件,请使用以下

Private Sub UserForm_Initialize()
    Me.ComboBox1.Value = ThisWorkbook.Sheets("Other Data").Range("C97").Value
End Sub

或者,您可以在每次激活UF时更新此值:

Private Sub UserForm_Activate()
    Me.ComboBox1.Value = ThisWorkbook.Sheets("Other Data").Range("C97").Value
End Sub

或者,每次单元格值更改时,您都可以更新UF的组合框。但是,这不合逻辑,因为您使用UF更新了单元。它会激活自己。