Excel

【Excel】VBAマクロでシートの追加(名前指定で先頭や最後尾・末尾に挿入・コピー)方法【InputBox, Worksheets.Add, Copy】

当サイトでは記事内に広告を含みます

この記事では、VBAマクロを使用してExcelのシートを追加、挿入、コピーする方法について解説していきます。

ポイントとしては、**InputBox**、**Worksheets.Add**、**Copy**を使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。

そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

それでは詳しく見ていきましょう!

VBAマクロで名前指定してシートを先頭に追加・挿入する方法【ダイヤログで入力】【InputBox, Worksheets.Add】

それではまず、VBAマクロで名前指定してシートを先頭に追加・挿入する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SheetAddSaisho()
    Dim sheetonamae As String
    sheetonamae = InputBox("追加するシート名を入力してください", "シート名入力")
    Worksheets.Add(Before:=Worksheets(1)).Name = sheetonamae
End Sub

コードのAlt+F8を押し、マクロ選択画面でSheetAddSaisho関数を実行します。

このコードでは、まずInputBoxを使用して新しいシートの名前を入力します。

その後、Worksheets.Addメソッドを使用して新しいシートを先頭に追加し、先ほど入力した名前を付けます。

 

VBAマクロで名前指定してシートを最後尾(末尾)に追加・挿入する方法【ダイヤログで入力】【InputBox, Worksheets.Add】

続いては、VBAマクロで名前指定してシートを最後(末尾)に追加・挿入する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SheetAddSaigo()
    Dim sheetonamae As String
    sheetonamae = InputBox("追加するシート名を入力してください", "シート名入力")
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = sheetonamae
End Sub

コードのAlt+F8を押し、マクロ選択画面でSheetAddSaigo関数を実行します。

このコードでは、InputBoxでシート名を取得した後、Worksheets.Countを使用して現在のシート数を取得し、新しいシートを最後に追加しています。

 

VBAマクロでのシートを追加しそのシートをコピーする方法【Copy】

続いては、VBAマクロでのシートを追加し、そのシートをコピーする方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SheetAddAndCopy()
    Dim sheetonamae As String
    sheetonamae = InputBox("追加するシート名を入力してください", "シート名入力")
    Dim newSheet As Worksheet
    Set newSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    newSheet.Name = sheetonamae
    newSheet.Copy After:=Worksheets(Worksheets.Count)
End Sub

コードのAlt+F8を押し、マクロ選択画面でSheetAddAndCopy関数を実行します。

このコードでは、まず新しいシートを追加し、その後そのシートをコピーしています。シートのコピーはCopyメソッドを使用して行います。

まとめ

以上で、VBAマクロを使用してExcelのシートを追加、挿入、コピーする方法の解説を終えます。

是非、上記の方法を活用して、日々の作業効率を上げていきましょう。