2016-12-20 12 views
0

私はこのウェブサイトhttp://www.excel-easy.com/vba/userform.htmlでuserformを作成する正確な手順に従っています。私はすべてのステップに従ったが、私はそれを動作させることはできない。VBAでUserFormを作成する

エラーの画像をご覧ください。 Excel Error

このコードを貼り付けたとき。

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 

website最初を参照してください必要があります。

+0

あなたは** "DinnerPlannerUserForm" **へのユーザーフォームの名前を変更しましたか? –

+0

はい。私はuserform –

+1

の名前を、エラーメッセージボックスの "Debug"をクリックするとどこに持ってきたのですか? – user3598756

答えて

5

コントロールの1つに名前が正しく付けられていません。コードモジュールの先頭にOption Explicitを追加すると、通常、この種のエラーを早期にキャッチできます。

enter image description here

+0

答えがまだ役に立たなかったので、 –

+0

@RexDarwinはコード行を強調表示していますか? –

+0

@RexDarwinあなたはこのビデオシリーズ:[Excel VBAはじめに](https://www.youtube.com/playlist?list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5)をご覧ください。これは関連しています:[Excel VBAの紹介第3部 - 何かが間違っている場合(エラーとデバッグ)](https://www.youtube.com/watch?v=DlqKfYTgc9Q&index=3&list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5&t=40s) –

1

どちらかと思われる:

  • あなたはDinnerPlannerUserFormにUserForm1での名前を変更、または
  • なかったあなたが持っているあなたの初期化コードに記載されているコントロールのいずれか、または
  • の名前を変更しませんでした
    Set MyDinnerPlanner = New DinnerPlannerUserForm
    (オブジェクトを参照する変数はNullと表示されていますが、SetNewインスタンスにする必要があります。それらを使用してください。

「オブジェクトが必要です」というエラーダイアログボックスの「デバッグ」コマンドボタンをクリックすると、VBA IDEがコード行に移動します。そのコード行にはおそらく、
<ObjectInstanceName>.<MethodName>(<parameters>)または
<ObjectInstanceName>.<PropertyName> = <Value>という形式の文があります。
VBAが<ObjectInstanceName>または<ObjectInstanceName> Is Nullを認識しないことを示す「オブジェクトが必要です」というエラーが表示されます。

+0

UserForm1の名前をDinnerPlannerUserFormに変更しました –

+0

名前を変更しましたか?どの物件を変更しましたか? –

+0

「ユーザーフォームを表示する」までのガイドに従うことをお勧めします(その部分を完了してください)。他のコードを入力しないでください。問題を見つけるには、コードを単純化する必要があります。 –

関連する問題