この記事ではVBAマクロでExcelのシート名を変更する方法について解説していきます。
ポイントとしては☆Cells関数、☆InputBox関数、☆エラー処理を使用することです。
なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。
そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。
それでは詳しく見ていきましょう!
VBAマクロでシート名の一括変更【各々のシート名をA1セルのものに全てかえる、Cells関数】
それではまず、VBAマクロでシート名の一括変更について解説していきます。
各シートがあり、そのa1セルの値を自動で取得しシート名変更させてみます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SheetoKaeHenshu()
Dim shito As Worksheet
Dim shimei As String
For Each shito In ThisWorkbook.Worksheets
On Error Resume Next
shimei = shito.Cells(1, 1).Value
If shimei <> "" And Not IsError(shimei) Then
shito.Name = shimei
End If
On Error GoTo 0
Next shito
End Sub
コードのAlt+F8を押し、マクロ選択画面でSheetoKaeHenshu関数を実行します。
このコードはExcelの各シートのA1セルの値を取得してシート名を変更するものです。
エラー処理も含めて、シート名が空や無効な値の場合はスキップします。
VBAマクロでシート名をセルから取得し変更する方法【別のinput.csvのa列を順番にループで読み込んでリネーム、Cells関数】
続いては、VBAマクロでシート名をセルから取得し変更する方法について解説していきます。
今度はエクセルファイルとは別にinput.csvがあり、このa列をループして順に読み込み、これらをエクセルの新規シート名として一気に変更してみます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub ShitoHenshuInputCSV()
Dim yomikomi As Workbook
Dim i As Integer
Dim meishou As String
Set yomikomi = Workbooks.Open("path\input.csv")
For i = 1 To yomikomi.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
On Error Resume Next
meishou = yomikomi.Worksheets(1).Cells(i, 1).Value
If meishou <> "" And Not IsError(meishou) Then
ThisWorkbook.Worksheets(i).Name = meishou
End If
On Error GoTo 0
Next i
yomikomi.Close
End Sub
コードのAlt+F8を押し、マクロ選択画面でShitoHenshuInputCSV関数を実行します。
このコードは外部のinput.csvからシート名を読み込んで、Excelの各シート名を変更します。エラー処理も実施しています。
VBAマクロでダイヤログでシート名を変更する方法【InputBox関数】
最後に、VBAマクロでダイヤログを使ってシート名を変更する方法について解説していきます。
変更前後でダイヤログから命名できます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub ShitoHenshuDialog()
Dim motoShito As String
Dim atarashiiShito As String
motoShito = InputBox("変更前のシート名を入力してください。")
atarashiiShito = InputBox("変更後のシート名を入力してください。")
On Error Resume Next
ThisWorkbook.Worksheets(motoShito).Name = atarashiiShito
On Error GoTo 0
End Sub
コードのAlt+F8を押し、マクロ選択画面でShitoHenshuDialog関数を実行します。
このコードはダイヤログを表示して、変更前後のシート名を入力させ、シート名を変更します。エラー処理も行っています。
まとめ
以上で、ExcelのVBAマクロを使用して、様々な方法でシート名を変更する方法について解説しました。適切な方法を選んで、効率よく作業を進めてください!