• 締切済み

Excel VBAで任意の名前のシートが存在するか調べたい。

VBAコード内で、変数を使ってシート名をつけて挿入しようとしていますが、 その前に、その変数の名前を使ったシートがそのファイル内(ブック内)に あるかどうかを調べるようなコードはありますか?

みんなの回答

回答No.3

初めまして。次のようなコードを書いてみたらいかがでしょうか。 Sub Test Dim myWbn1 as string Dim myWbn2 as string Dim i as integer myWbn1 = "つけたいシート名" for i = 1 to Workbooks("ブック名.xls").worksheets.count mywbn2 = workbooks("ブック名.xls").worksheets(i).Name if myWbn2 = myWbn1 then msgbox "つけた名前は、すでに使用されています。" exit sub next i お試しになってみて下さい。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

ループさせて一致するシート名があるか調べるしかなさそうですね。 For i = 1 To Worksheets.Count if Worksheets(i).Name = 変数 then exit for Next i

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 自作関数を作ってみました。 シート名が存在した場合はTrueを返します。 Private Function CheckSheet(SheetName As String) As Boolean   Dim xlSheet As Worksheet   CheckSheet = False   For Each xlSheet In Worksheets     If xlSheet.Name = SheetName Then       CheckSheet = True       Exit Function     End If   Next xlSheet End Function