我无法通过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"
但是,它仍然没有改变实际形式的任何内容。
另外,我可以添加新帖子,还是必须继续编辑这个帖子并添加内容?
答案 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的标题没有。
关闭Userfom,然后运行demo2
,您将看到Button 1的标题返回到它的原始硬设置(属性窗口)名称,现在Button 2的名称不同。