スポンサーリンク
いつも記事を読んでいただきありがとうございます!!!
これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/
この記事では、ExcelのVBAマクロを用いて、特定のシートが存在するかどうかをチェックし、それに応じてシートを作成または削除する方法について解説していきます。
また、初心者にも分かりやすいように、変数名を日本語ローマ字表記で記載しています。それでは詳しく見ていきましょう!
スポンサーリンク
シートチェックと名前で新規作成するマクロ
まずは、指定ファイル内の指定シートの存在チェックと、名前で新規シート作成する方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Function AruKaNa(shtName As String, Optional wb As Workbook) As Boolean
Dim shtCheck As Worksheet
If wb Is Nothing Then Set wb = ThisWorkbook
On Error Resume Next
Set shtCheck = wb.Sheets(shtName)
On Error GoTo 0
AruKaNa = Not shtCheck Is Nothing
End Function
Sub TsukuruYo(shtName As String)
Dim kazoeru As Integer
kazoeru = 1
While AruKaNa(shtName & kazoeru)
kazoeru = kazoeru + 1
Wend
ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)).Name = shtName & kazoeru
End Sub
コードのAlt+F8を押し、マクロ選択画面で`TsukuruYo`関数を実行します。
このコードでは、`AruKaNa`関数でシートが既に存在するかチェックし、存在しなければその名前で新しいシートを作成します。すでに存在する場合は、末尾に連番をつけて新しいシートを作成します。
【AruKaNa, TsukuruYo】
シート存在チェックして削除するマクロ
続いて、複数のファイル内の指定シートの存在チェックと、存在する場合のみ削除する方法について解説します。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub KesuKamo(shtName As String, Optional wb As Workbook)
If wb Is Nothing Then Set wb = ThisWorkbook
If AruKaNa(shtName, wb) Then
Application.DisplayAlerts = False
wb.Sheets(shtName).Delete
Application.DisplayAlerts = True
End If
End Sub
コードのAlt+F8を押し、マクロ選択画面で`KesuKamo`関数を実行します。
このコードでは、`AruKaNa`関数を使用してシートが存在するかチェックし、存在する場合のみそのシートを削除します。
【KesuKamo】
スポンサーリンク