アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしてのVBA

シート・ブックが存在するかチェックする

シート・ブックが存在するかチェックする


  VBA でマクロを組んで定型的なことを自動化する場合に、目的のシートやブックが
  存在するかどうかのチェックは必ず必要になります。

  Excel でマクロを組むということは、ブックやシートのセルを操作することが
  ほとんどです。

  そのシートやブックがあるか、開いているか、エラーで終了しないために、
  無い場合は作成するためにも存在のチェックが必要になります。

  ここで紹介する Function は、アクティブになっているワークブックに、
  引数 SheetName のシートが実際にあるかチェックします。

  あれば True なければ False を返します。
  Sheets.Count でワークブックにシートが何枚あるかわかります。

  Sheets(i).Name でシートの名前を順番に取得できます。

  For ループで1枚ずつ、シートの名前が SheetName と等しいかチェックして
  います。



  ブックも同様にして存在をチェックできます。

Function ExistSheet(SheetName) As Boolean
    '引数 SheetName のシートが実際にあるかチェックする
    
    Dim i, cnt As Integer
    
    cnt = Sheets.Count
    ExistSheet = False
    For i = 1 To cnt
        If Sheets(i).Name = SheetName Then
            ExistSheet = True
            Exit For
        End If
    Next
End Function

  Sheets.Count でワークブックにシートが何枚あるかわかります。

  Sheets(i).Name でシートの名前を順番に取得できます。

  For ループで1枚ずつ、シートの名前が SheetName と等しいかチェックして
  います。



  ブックも同様にして存在をチェックできます。

Function ExistBook(BookName) As Boolean
    '引数 BookName のブックが実際にあるかチェックする
    
    Dim i, cnt As Integer
    
    cnt = Workbooks.Count
    ExistBook = False
    For i = 1 To cnt
        If Workbooks(i).Name = BookName Then
            ExistBook = True
            Exit For
        End If
    Next
End Function


  example1 をダウンロードして、サンプルマクロを参照してください。
  コメントを詳しく入れてあります。



Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.