首页 > 解决方案 > 更新工作表中的动态 ActiveX 列表框

问题描述

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

如果我关闭 Excel 并再次打开它,列表框更新完美!不过有点不方便……</p>

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

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

我不明白如何创建“刷新宏”,也不明白它应该存储在哪里以及我应该如何命名它以便 Excel 可以找到它。

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

真诚的乌尔夫

*取自 YouTube,Tiger 电子表格解决方案“Excel Userforms for Beginners (8/10)”)

标签: excelvbadynamiclistboxactivex

解决方案


您可以像这样刷新ListFillRange

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

推荐阅读