在VBA上创build用户窗体

我正在按照在这个网站http://www.excel-easy.com/vba/userform.html创builduserform的确切步骤。 我遵循了所有的步骤,但是我不能使它工作。

请查看错误图片。 Excel错误

当我粘贴这个代码。

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它们SetNew实例)。

如果你点击“Object required”错误对话框的“Debug”命令button,VBA IDE将带你到一行代码。 这行代码可能会有一个forms的声明
<ObjectInstanceName>.<MethodName>(<parameters>)
<ObjectInstanceName>.<PropertyName> = <Value>
“对象需要”错误告诉你,或者VBA不能识别<ObjectInstanceName><ObjectInstanceName> Is Null