Rowsource无法通过VBA工作

时间:2017-12-18 21:30:13

标签: excel vba

我无法通过VBA获取列表框的RowSource属性。从另一个线程,我找到了语法,所以我认为这是正确的。但是,尽管没有失败,它对RowSource属性没有任何作用(它仍然是空白的)。下面:

frmAddIngredient是用户表单。

lbxIngredient是该表单中的列表框控件。

UniqueIngredients是工作簿中的一个工作表。

NumberOfItems为1(在这种情况下)。

它没有给出错误,但也没有改变任何东西。表单本身目前尚未激活。此代码应该设置表单以供稍后显示。

frmAddIngredient.lbxIngredient.RowSource = Sheets("UniqueIngredients").Range("A1:A" & CStr(NumberOfItems)).Address

最新的代码是

        frmAddIngredient.lbxIngredient.RowSource = "=UniqueIngredients!A1:A1"

但是,它仍然没有改变实际形式的任何内容。

另外,我可以添加新帖子,还是必须继续编辑这个帖子并添加内容?

1 个答案:

答案 0 :(得分:0)

您想要的(无法在您的问题的评论中讨论)是不可能的。按代码设置某些内容不会在属性窗口中更改它的属性,只有在项目重置之前才会更改。

考虑一个带有2个按钮的Userform,带有原始名称和标题,然后在模块中粘贴这2个潜艇。

Sub demo1()
    UserForm1.CommandButton1.Caption = "Demo 1"
    UserForm1.Show
End Sub

Sub demo2()
    UserForm1.CommandButton2.Caption = "Demo 2"
    UserForm1.Show
End Sub

当您运行第一个Sub demo1按钮1时,标题已更改,但按钮2的标题没有。

enter image description here

关闭Userfom,然后运行demo2,您将看到Button 1的标题返回到它的原始硬设置(属性窗口)名称,现在Button 2的名称不同。

enter image description here