我已阅读所有列出的帮助,但无法解决我的问题。
我正在Outlook 2013中创建一个表单,并且希望在满足某些条件时可以看到一些字段 - 我一直在尝试为此编写一些VBA代码..但是我收到了错误。
这是我的代码;
Sub AltSMSNumber()
Dim CheckBox2 As CheckBox
Dim TextBox2 As TextBox
Dim Label2 As Label
Set CheckBox2 = CheckBox2
Set TextBox2 = TextBox2
Set Label2 = Label2
If CheckBox2.Value = False Then
Set TextBox2.Visible = True
Set Label2.Visible = True
Else
Set TextBox2.Visible = False
Set Label2.Visible = False
End If
End Sub
我默认情况下将表单上的Checkbox设置为true,并且只在取消选中Checkbox时才希望TextBox2和Label2可见(false)。
我查看了所有的名字 - 它们都是我在代码中注明的名字。
它打破了; 如果CheckBox2.Value = False那么 告诉我没有设置对象。
任何人都可以指出我的错误吗?
由于
答案 0 :(得分:0)
问题在于:
Set CheckBox2 = CheckBox2
您无法声明变量,然后将其设置为自身。您是否打算为其分配另一个现有复选框?
请注意,您使用的其他变量存在同样的问题。也许你应该查看VBA教程。网上有很多。
答案 1 :(得分:0)
如果您还没有重命名文本框或标签,那么这应该有用..
Sub AltSMSNumber()
If CheckBox2.Value = False Then
Set TextBox2.Visible = True
Set Label2.Visible = True
Else
Set TextBox2.Visible = False
Set Label2.Visible = False
End If
End Sub
答案 2 :(得分:0)
在userform代码窗格中,使用Me
关键字引用userform
使用它并通过简单地键入一个点(.
)然后成员名称
Sub AltSMSNumber()
With Me '<-- reference the userform
.TextBox2.Visible = Not .CheckBox2
.Label2.Visible = Not .CheckBox2
End With
End Sub
但如果您希望该行为为&#34;自动&#34;然后使用CheckBox2
Click
事件处理程序
Private Sub CheckBox2_Click()
With Me '<-- reference the userform
.TextBox2.Visible = Not .CheckBox2
.Label2.Visible = Not .CheckBox2
End With
End Sub