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シートコード
実行の流れ
- コマンドボタンをクリックすると、プロシージャを実行します。
- Forループで変数に「日曜日」から「土曜日」までの文字列を格納します。
- Addメソッドでシートを追加します。
- 引数は、Afterを使用し指定したワークシートの後ろに追加します。
- 最後のワークシートの指定は、Worksheets.Countでワークシート数を引数にしたWorksheetsを使用しています。
- 追加したシートが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