- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELマクロ シートのありなし)
EXCELマクロのシートの存在を返す関数の作成方法
このQ&Aのポイント
- EXCELのマクロでシートの存在を返す関数を作りたい。
- 現在の実装ではブックをアクティブにする必要があり、スマートな手法を知りたい。
- 要件はA.xlsというファイルにsheet4という名前のシートが存在するかを調べること。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シートの有無を調べるだけならActivateする必要はありません。 '判定 Set wb = Workbooks(Bookname) For Each ws In wb.Worksheets ' ← wbのワークシートでFor eachを回す If ws.Name = sheetname Then flag = True Next ws '元に戻る ← 不要
その他の回答 (1)
- cj_mover
- ベストアンサー率76% (292/381)
回答No.2
こんにちは、お邪魔します。 "スマート"、と、私が思うやり方です。 ' Re8213316 Function isExistingSheetName9(BookName As String, SheetName As String) As Boolean On Error Resume Next isExistingSheetName9 = Workbooks(BookName).Sheets(SheetName).Cells.Row End Function
質問者
お礼
なるほど、エラーを使う訳ですか。 スマートですね。 コードも短いし、すばらしいです。 ありがとうございます。
質問者
補足
遅くなりました。申し訳ありません。 試させて頂き、本日中に入力致します。
お礼
どうもありがとうございます。 まさに、求めていたのはこの回答なのですが >wb.Worksheets これを試してダメだったので質問したつもりが どこか別のミスがあったみたいです。 アホですね。私。 助かりました。どうもありがとうございます。
補足
遅くなりました。申し訳ありません。 試させて頂き、本日中に入力致します。