• ベストアンサー

【VBAでシート名の存在チェックを行いたい】

目的は、特定したExcelファイルを開き、そこに存在するシート名が、あるシート名リストと一致するかどうかの判断を行うことです。 シート名を参照しようとすると、存在しない場合エラーになります。 例: Excelブック     シート名リスト 「顧客」シート   「住所」 「住所」シート   「趣味」 「会社」シート シート名リストの「趣味」がブックに存在しないので、エラーになります。 他の方法をご存知の方、教えて頂けますでしょうか? 宜しくお願いいたします。 Excel2000を使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

指定したシート名が存在するかテストする関数を作ってみました。 もっと良いやり方があるかもしれませんが・ ----------------------------------------------------------- Public Function hasSheet(name As String) As Boolean Dim x As Worksheet For Each x In Sheets If StrComp(name, x.name, vbTextCompare) = 0 Then hasSheet = True Exit Function End If Next hasSheet = False End Function

mari0629
質問者

お礼

具体的な内容まで提示して頂き、ありがとうございます。 早速実装してみたいと思います。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

>シート名を参照しようとすると、存在しない場合エラーになります。 ローテクですが、 「On Error Resume Next」で、エラーを解除したらいかがですか?

mari0629
質問者

お礼

ひとつの方法として参考になりました。 ありがとうございます。