【VBA】Nameプロパティで面倒なシート名変更を自動化する方法

【業務効率化】VBA
スポンサーリンク

こんにちは!ぐーです。
いつもブログをご覧いただき、ありがとうございます!

「この大量のExcelシート、全部日付入り名前に変えておいて」と言われ、途方に暮れた経験はありませんか? 

この記事では、VBAを使って「シート名の変更や取得を自動化」する方法を分かりやすく解説します。

【業務効率化】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の記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました