更新工作表中的动态ActiveX列表框

时间:2018-06-22 19:10:46

标签: excel vba dynamic listbox activex

我通过用户表单将信息输入数据库。表单中的信息进入名为“数据”的工作表中的数据库。我在一个名为“ Dashboard”的工作表上有一个Dashboard,其中有一个ActiveX列表框(称为ActiveX_List),其中填充了数据表中10行的数据。 当新数据输入到数据表中时,该列表框应该是动态的并已更新,但是我无法使其正常工作。

如果我关闭Excel并再次打开它,则列表框将更新为完美!但这有点不方便...

我在名称管理器中存储了一个名为ActiveX_List的偏移量公式,公式为:= OFFSET(DATA!$ B $ 3; 0; 0; ENGINE!$ AJ $ 5; 10)*。
在ActiveX列表框属性中,ListFillRange = ActiveX_List(名称管理器的偏移公式)。

我认为该列表会自动更新。但是现在我假设必须执行某种宏,例如,当我在用户窗体中单击“保存按钮”时。

我不知道如何创建“刷新宏”,也不了解应将其存储在何处以及如何命名以便Excel可以找到它。

我是VBA的新手。对代码的帮助会很棒,但是如果有人有时间解释它的工作原理,那就更好了,并且非常感谢。

真诚的 乌尔夫

*它取自YouTube,Tiger电子表格解决方案“ Excel初学者用户表单(8/10)”)

1 个答案:

答案 0 :(得分:0)

您可以像这样刷新ListFillRange

Sub RefreshListFillRange
    With Worksheets("Sheet1").OLEObjects("ListBox21")
        .ListFillRange = .ListFillRange
    End With
End Sub