初めて自分の家と他人の家が違う、と意識した時

マクロのコードに
Sheets("AAA").Select
と記述していますが、あるブックに対しマクロを実行したとき、AAAというシートがないときは、AAAというシートがないというダイアログを表示したいのですが、そのようなことが出来ますか?

存在しないシートを選択した時にエラーメッセージを表示するには?

A 回答 (2件)

簡単なところでは、以下のようなのはどうでしょうか?ERR=9はインデックスが範囲外の時のものですので、シートがない以外でも発生しますが、とりあえずはいいのではないでしょうか。



sub XXX
On Error GoTo err_handle

Sheets("AAA").Select
Exit Sub

err_handle:
If Err = 9 Then
MsgBox "シートAAAが存在しません。"
Exit Sub
End If
End Sub
    • good
    • 3
この回答へのお礼

回答ありがとうございます。
うまくいきました。

お礼日時:2004/10/19 18:44

Sub sample()



FLG = False

'ブックのシート名を全部読みとる事ができます。
For Each sht In ActiveWorkbook.Sheets
  If sht.Name = "AAA" Then FLG = True
Next

If FLG = False Then MsgBox "シートが無いよ!"

End Sub


他には、シートが無い場合だと、該当部分でエラーになるので、On ErrGoto 文で処理するかですね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

うまくいきました。

お礼日時:2004/10/19 18:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A