Rowsource无法通过VBA工作

问题描述 投票:0回答:1

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

frmAddIngredient是用户表单。

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

Unique Ingredients是工作簿中的一张。

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

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

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

最新的代码是

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

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

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

excel vba
1个回答
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

当你运行第一个子demo1按钮1的标题已经改变但按钮2的标题没有。

enter image description here

关闭Userform并现在运行qazxsw poi,你会看到Button 1的标题回到它的原始硬设置(属性窗口)名称,现在Button 2有一个不同的名称。

demo2

© www.soinside.com 2019 - 2024. All rights reserved.