オブジェクト型の変数は設定されていません (エラー 91)

オブジェクト変数を作成する手順には 2 つのステップがあります。 まず、オブジェクト変数を宣言する必要があります。 次に、Set ステートメントを使用してそのオブジェクト変数に有効な参照を代入する必要があります。

同様に、With...End With ブロックは、With ステートメントのエントリ ポイントを実行して初期化する必要があります。 このエラーの原因と解決策は次のとおりです。

  • まだ有効なオブジェクトを参照していないオブジェクト変数を使用しようとした。

    オブジェクト変数の参照を指定または再指定します。 たとえば、次のコードの Set ステートメントを省略すると、MyObject への参照でエラーが生成されます。

      Dim MyObject As Object    ' Create object variable. 
      Set MyObject = Sheets(1)    ' Create valid object reference. 
      MyCount = MyObject.Count    ' Assign Count value to MyCount. 
    
  • Nothing に設定されているオブジェクト変数を使用しようとした。

      Set MyObject = Nothing    ' Release the object. 
      MyCount = MyObject.Count    ' Make a reference to a released object. 
    

    オブジェクト変数の参照を再指定します。 たとえば、新しい Set ステートメントを使用して、オブジェクトへの新しい参照を設定します。

  • オブジェクトは有効なオブジェクトだが、オブジェクトが記述されているオブジェクト ライブラリが [Add References] ダイアログ ボックスで選択されていないため、設定されなかった。

    [Add References] ダイアログ ボックスでそのオブジェクト ライブラリを選択します。

  • GoTo ステートメントのターゲットが With ブロック内にある。

    With ブロック内にジャンプしないでください。 With ステートメントのエントリ ポイントが実行されてブロックが初期化されていることを確認してください。

  • [Set Next Statement] コマンドを選択したときに With ブロック内の行を指定した。

    With ブロックは、With ステートメントを実行して初期化する必要があります。

詳細については、該当する項目を選択し、F1 キー (Windows の場合) または HELP (Macintosh の場合) を押してください。

注:

複数のプラットフォーム間で Office エクスペリエンスを拡張するソリューションを開発することに関心がありますか? 新しい Office アドイン モデルを参照してください。 Office アドインは、VSTO アドインやソリューションに比べてフットプリントが小さく、HTML5、JavaScript、CSS3、XML などのほぼすべてのWeb プログラミング テクノロジーを使用して構築できます。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。