目的のWorksheetがあるかどうかを調べる|VBA
openBook
を開いているWorkbook
とした時、以下のように"sheet3"のWorksheet
を取得しようとして"sheet3"が無い場合に
インデックスが有効範囲にありません。
というエラーが表示されます。
シートがあるか無いかを知る方法を調べると、全てのシートを参照して有無を判定する記事が多かったのですが
mk_55's diary "Excel VBAでシートの存在有無を判定するのにループはいらない。On Errorステートメントを使おう"
という記事を見つけました。おかげでこの記事を参考に、ループなしで判定可能になりました。try~catch
的なのが無いのかと思ってましたが、それに近い感じですね。
このやり方だと、前方一致のシート名があるとシートがある、と判定されているようです。
Sasaki Tomo様
コメントありがとうございます。
そうなのですね。数年前の記事ですので、記憶が曖昧ですが今度試してみたいと思います。