Excel VBAでシートを追加し名前をつける方法|AddとNameを使用

シートの追加はAddメソッドを使い、シート名の変更はNameプロパティ使います。

例えばリボンで7枚シートを追加するには、セルグループの[挿入]~[シートの挿入]を7回繰り返し、名前を変更するにはシートタブの[名前の変更]を7回実行する必要があります。

このように手間の掛かる処理を、VBAを使えば一瞬で可能です。

例えば社員台帳や支店別データを作成する場合に時間短縮できます。

シート作成に関連するTipsの「新規シートが作成された時に処理を実行する : Excel VBA」も参照してください。

スポンサーリンク



Homeに戻る > Excel シートのTipsへ

下記のコードでは1週間分の曜日を付けたシートを、現在のシートの後ろに追加します。

追加後、Nameプロパティで曜日名にしています。

Addメソッドの構文

Object.Add(Before, After, Count, Type)

  • Before : 指定したワークシートの前に追加(省略可能)
  • After : 指定したワークシートの後ろに追加(省略可能)
  • Count : 追加するシートの枚数を指定(省略可能)
  • Type : シートのタイプを指定(省略可能)

Typeの定数一覧

定数 シートの種類
xlWorksheet(既定値) ワークシート
xlChart グラフシート
xlDialogSheet Excel5ダイアログシート
xlExcel4IntlMacroSheet Excel4インターナショナル マクロシート
xlExcel4MacroSheet Excel4マクロシート


シートを追加し名前をつけるVBA

Excelシートコード

実行の流れ

  1. コマンドボタンをクリックすると、プロシージャを実行します。
  2. Forループで変数に「日曜日」から「土曜日」までの文字列を格納します。
  3. Addメソッドでシートを追加します。
  4. 引数は、Afterを使用し指定したワークシートの後ろに追加します。
  5. 最後のワークシートの指定は、Worksheets.Countでワークシート数を引数にしたWorksheetsを使用しています。
  6. 追加したシートがActiveSheetになるので、それをオブジェクトにしNameで名前を変更しています。
コマンドボタンクリックイベント
Private Sub CommandButton1_Click()
    ExAddSheetWeek
End Sub

'1週間分のシートを追加し、名前を曜日にする
Private Sub ExAddSheetWeek()
    Dim s As String
    Dim i As Integer
    
    '1週間のシートを作成
    For i = 1 To 7
        Select Case i
            Case 1: s = "日曜日"
            Case 2: s = "月曜日"
            Case 3: s = "火曜日"
            Case 4: s = "水曜日"
            Case 5: s = "木曜日"
            Case 6: s = "金曜日"
            Case 7: s = "土曜日"
        End Select
        
        'シートを追加
        ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
        '名前の変更
        ActiveWorkbook.ActiveSheet.Name = s
    Next
End Sub

スポンサーリンク


Excel実行前

ブックにあるのは、「Sheet1」と「Sheet2」です。

実行前

Excel実行結果

曜日名の付いたシートが追加されています。

シートが追加され名前が変更されている

スポンサーリンク




Homeに戻る > Excel シートのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved