VBA~実行時エラー'91'オブジェクト変数またはWithブロック変数が設定されていません。~Excel
エラー名
実行時エラー'91'オブジェクト変数またはWithブロック変数が設定されていません。
原因
オブジェクト変数にオブジェクトを格納するときにSetをつけずに格納しようとするとエラーが発生します。下のエラーが出るコード1ではオブジェクト変数aにSetをつけずにSheet1を格納しようとしようとしているのでエラーになります。
オブジェクト変数にオブジェクトを格納せずにNothingのまま操作しようとすると発生します。下のエラーが出るコード2ではオブジェクト変数aになにも格納せずにシートの名前を変更しようとしているのでエラーが発生します。
エラーが出るコード1
Sub test1() Dim a As Worksheet a = Worksheets("Sheet1") a.Name = "シート1" End Sub
エラーが出るコード2
Sub test2() Dim a As Worksheet a.Name = "シート1" End Sub
修正したコード
Sub test3() Dim a As Worksheet Set a = Worksheets("Sheet1") a.Name = "シート1" End Sub