こんにちは!ぐーです。
いつもブログをご覧いただき、ありがとうございます!
「この大量のExcelシート、全部日付入り名前に変えておいて」と言われ、途方に暮れた経験はありませんか?
この記事では、VBAを使って「シート名の変更や取得を自動化」する方法を分かりやすく解説します。
シートの名札を書き換える「Nameプロパティ」
シートの名前を扱うには、Nameというプロパティを使います。
イメージは「名札」です。
- 名札を見る = シート名を取得する
- 名札を書き換える = シート名を変更する
では、実際に使えるコードを見てみましょう。
1. シートの名前を変更する(基本)
1番左側に配置されているシートの名前を「売上データ」に変更する、最も基本的なコードです。
Sub RenameSheet()
' Worksheets(1)は左から1番目のシートのこと
Worksheets(1).Name = "売上データ"
MsgBox "名前を変えました!"
End Sub
2. すべてのシート名に「連番」を振る(応用)
このコードを使えば、シートが100枚あっても一瞬で処理が完了します。
Sub RenameAllSheets()
Dim ws As Worksheet
Dim i As Integer
i = 1
' すべてのシートを順番に処理する
For Each ws In Worksheets
' シート名を「データ_1」「データ_2」のように変える
ws.Name = "データ_" & i
i = i + 1
Next ws
MsgBox "すべてのシート名を変更しました。"
End Sub
3. 現在のシート名を取得する
「現在どのシートを操作しているか確認したい」という場面で役立ちます。
Sub GetSheetName()
' アクティブ(選択中)なシートの名前を表示
MsgBox "現在のシート名は " & ActiveSheet.Name & " です。"
End Sub
VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。
リンク
リンク

コメント