在下面的代码中,我在用户窗体上单击“保存”按钮时添加标签“dLblQty”。并且需要在按钮按下的每次迭代中为此按钮分配来自单元格A27然后是A28的值,依此类推。 但是这会给运行时错误“438”:对象不支持此属性或方法。 请建议正确的方法。
以下是摘录:
Dim strCap As String
strCap = Worksheets("Tax Invoice - Intra State").Range("A1").Value
Dim dLblQty As Control
Set dLblQty = UserForm1.Controls.Add("Forms.Label.1", "dLblQty", True)
With dLblQty
.Top = 20
.Left = 20
.MultiLine = True
.Height = 100
.Caption = strCap
End With
答案 0 :(得分:0)
抛出错误,因为Label控件没有multiline
属性或方法。片段的其余部分功能完美。
答案 1 :(得分:0)
代码在删除多行和enterkey行为时肯定没有错误,因为这些是文本框属性。但这并没有解决我添加动态标签并动态为其分配单元格值的问题。
尝试几次之后,我明白我做错了什么。 我将我的标签声明为MSForms.label类的对象,这就是诀窍。以下是解决方案:
Dim strCap As String
Dim dLblItem As MSForms.Label
strCap = Worksheets("Tax Invoice - Intra State").Range("B1").Value
Set dLblItem = UserForm1.Controls.Add("Forms.Label.1", "dLblItem", True)
With dLblItem
.Top = 20
.Left = 20
'.MultiLine = True
'.EnterKeyBehavior = True
.Height = 100
.Caption = strCap
.BackColor = &HFF&
.ForeColor = &H8000&
End With