この記事では、VBAマクロを使ってExcelのシート名の存在チェックし、一致した場合にはそのシート名を別の名前に変更して保存する方法、そして変更結果をメッセージとして表示する方法について解説していきます。
ポイントとしては、**WorksheetExists関数**、**Sheets.Addメソッド**、そして**MsgBox関数**を使用することです。
なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。
それでは詳しく見ていきましょう!
—
VBAマクロでシート名の存在チェックして一致したら別のシート名に変更し保存する方法【確認結果はメッセージで必ず表示】【WorksheetExists関数, MsgBox関数】
それではまず、VBAマクロでシート名の存在チェックして一致したら別のシート名に変更し保存する方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SheetNameKakuninToHenkou()
Dim shiitoNamae As String
Dim henkouSakiNamae As String
shiitoNamae = "SampleSheet"
henkouSakiNamae = "NewSampleSheet"
' シート名の存在確認
If WorksheetExists(shiitoNamae) Then
Sheets(shiitoNamae).Name = henkouSakiNamae
ThisWorkbook.Save
MsgBox shiitoNamae & " を " & henkouSakiNamae & " に変更し保存しました。"
Else
MsgBox shiitoNamae & " は存在しません。"
End If
End Sub
Function WorksheetExists(sName As String) As Boolean
On Error Resume Next
WorksheetExists = Not Sheets(sName) Is Nothing
On Error GoTo 0
End Function
コードのAlt+F8を押し、マクロ選択画面でSheetNameKakuninToHenkou関数を実行します。
このコードは、シート名”SampleSheet”が存在するかを確認し、存在すればその名前を”NewSampleSheet”に変更して保存するものです。存在しない場合、メッセージボックスでシートが存在しないことを通知します。
—
VBAマクロで複数のシート名の存在チェックして一致したら別の名前に変更して保存する方法【確認結果はメッセージで必ず表示】【WorksheetExists関数, MsgBox関数】
続いては、VBAマクロで複数のシート名の存在チェックして一致したら別の名前に変更して保存する方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SheetNamesTakusanKakuninToHenkou()
Dim shiitoArray() As String
Dim henkouSakiArray() As String
Dim i As Integer
shiitoArray = Split("Sheet1,Sheet2,Sheet3", ",")
henkouSakiArray = Split("NewSheet1,NewSheet2,NewSheet3", ",")
For i = LBound(shiitoArray) To UBound(shiitoArray)
If WorksheetExists(shiitoArray(i)) Then
Sheets(shiitoArray(i)).Name = henkouSakiArray(i)
MsgBox shiitoArray(i) & " を " & henkouSakiArray(i) & " に変更しました。"
Else
MsgBox shiitoArray(i) & " は存在しません。"
End If
Next i
ThisWorkbook.Save
End Sub
コードのAlt+F8を押し、マクロ選択画面でSheetNamesTakusanKakuninToHenkou関数を実行します。
このコードは、”Sheet1″, “Sheet2”, “Sheet3″の3つのシート名が存在するかを確認し、存在すればそれぞれ”NewSheet1”, “NewSheet2”, “NewSheet3″に変更して保存するものです。存在しない場合、メッセージボックスでシートが存在しないことを通知します。
—
以上、VBAマクロを使用したシート名の存在チェックと名前変更の方法を解説しました。初心者の方でも簡単に実装できるように、変数名をわかりやすくしましたが、実際の使用時には適切な変数名に変更してご利用ください。