アプリケーションとしてのVBA
シート・ブックが存在するかチェックする
◆シート・ブックが存在するかチェックする
VBA でマクロを組んで定型的なことを自動化する場合に、目的のシートやブックが
存在するかどうかのチェックは必ず必要になります。
Excel でマクロを組むということは、ブックやシートのセルを操作することが
ほとんどです。
そのシートやブックがあるか、開いているか、エラーで終了しないために、
無い場合は作成するためにも存在のチェックが必要になります。
ここで紹介する Function は、アクティブになっているワークブックに、
引数 SheetName のシートが実際にあるかチェックします。
あれば True なければ False を返します。
Sheets.Count でワークブックにシートが何枚あるかわかります。
Sheets(i).Name でシートの名前を順番に取得できます。
For ループで1枚ずつ、シートの名前が SheetName と等しいかチェックして
います。
ブックも同様にして存在をチェックできます。
Function ExistSheet(SheetName) As Boolean
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
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 をダウンロードして、サンプルマクロを参照してください。
コメントを詳しく入れてあります。