在VBA上创build用户窗体
我正在按照在这个网站http://www.excel-easy.com/vba/userform.html创builduserform的确切步骤。 我遵循了所有的步骤,但是我不能使它工作。
请查看错误图片。
当我粘贴这个代码。
Private Sub UserForm_Initialize() 'Empty NameTextBox NameTextBox.Value = "" 'Empty PhoneTextBox PhoneTextBox.Value = "" 'Empty CityListBox CityListBox.Clear 'Fill CityListBox With CityListBox .AddItem "San Francisco" .AddItem "Oakland" .AddItem "Richmond" End With 'Empty DinnerComboBox DinnerComboBox.Clear 'Fill DinnerComboBox With DinnerComboBox .AddItem "Italian" .AddItem "Chinese" .AddItem "Frites and Meat" End With 'Uncheck DataCheckBoxes DateCheckBox1.Value = False DateCheckBox2.Value = False DateCheckBox3.Value = False 'Set no car as default CarOptionButton2.Value = True 'Empty MoneyTextBox MoneyTextBox.Value = "" 'Set Focus on NameTextBox NameTextBox.SetFocus End Sub
这段代码会有错误
Private Sub CommandButton1_Click() DinnerPlannerUserForm.Show End Sub
请先看看网站 。
您的一个控件没有正确命名。 将Option Explicit
添加到代码模块的顶部通常会让您尽早捕获这种types的错误。
这似乎是:
- 您没有将UserForm1重命名为DinnerPlannerUserForm或
- 您没有重命名初始化代码中提到的控件之一
- 你从来没有打过电话
Set MyDinnerPlanner = New DinnerPlannerUserForm
(引用对象的variables以Null
开头;在使用它们之前,需要在某个时刻Set
它们Set
为New
实例)。
如果你点击“Object required”错误对话框的“Debug”命令button,VBA IDE将带你到一行代码。 这行代码可能会有一个forms的声明
<ObjectInstanceName>.<MethodName>(<parameters>)
或
<ObjectInstanceName>.<PropertyName> = <Value>
。
“对象需要”错误告诉你,或者VBA不能识别<ObjectInstanceName>
或<ObjectInstanceName> Is Null
。