【Microsoft Excel】ワークシートを大量に作成する方法
Excelを使っていて、1つのブックの中に大量のワークシートを作成することはありませんか。
- 1日分の情報を1シートに記載して、1ヶ月分を1ブックにまとめておく。
- 1人分の情報を1シートに記載して、メンバー全員分を1ブックにまとめておく。
このような場合、1つのブックの中に30や40、あるいは、それ以上の数のワークシートを作成することになります。
ワークシートを増やすときは、以下の2つの方法を使うことが多いと思います。
- 画面下部にあるシート見出しの右の「+」ボタンを押す。
- Shift+F11キーを押す。
いずれも、新規ワークシートを1つ追加する方法です。この方法だとワークシートの追加自体は簡単にできるのですが、シートの名称を後から1つ1つ変えていく必要があり、非常に面倒です。
本記事では、名称を指定した上で大量のワークシートを作成する方法として、以下の2つを紹介します。
- ピボットテーブルを使用する方法
- マクロ(VBA)を使用する方法
ピボットテーブルを使用する方法
まず1つ目はピボットテーブルを使用する方法です。
「ピボットテーブルってデータ分析用の機能じゃないの?」と思った方もいるかもしれません。その通りなのですが、シートを作成するのにも使うことができるので、その方法を紹介します。
①作成したいシート名を縦に並べて記載します。
※1番上のセルに書いた名称のシートは作成されないので、2行目以降に作成したいシート名を記載しています。
②入力したセルを選択し、「挿入」タブ→「ピボットテーブル」→「テーブルまたは範囲から」を選択します。
③「OK」ボタンをクリックし、ピボットテーブルを作成します。
④シート名が記載されたフィールドをフィルターとして設定します。
⑤「ピボットテーブル分析」→「オプション」→「レポートフィルターページの表示」を選択します。
⑥「OK」ボタンを押下します。
これで、①で記載していたすべてのシートが作成されました。
作成されたシートには、ピボットテーブルのフィルターが記載されているので、次以降の手順で削除します。
⑦作成されたシートをすべて選択し、A〜B列を選択します。
⑧「ホーム」タブ→「クリア」→「すべてクリア」を選択します。
⑨「ホーム」タブ→「削除」→「」を選択します。
⑩①で作成したシート名の一覧、②で作成したピボットテーブルのシートを削除します。
これで、完了です。
マクロ(VBA)を使用する方法
続いて、マクロ(VBA)を使用してワークシートを作成する方法です。
①作成したいシート名を縦に並べて記載します。
※1番上のセルに書いた名称のシートは作成されないので、2行目以降に作成したいシート名を記載しています。
※「ピボットテーブルを使用する方法」の①で作成したものと同様です。
②「Alt」キーと「F8」キーを同時に押し、「マクロ」ウィンドウを表示します。
③「マクロ名」に適当な名前を入力し、「作成」ボタンをクリックします。
④表示されたウィンドウに書かれているコードを、以下の内容に書き換えます。
※もともと書いてあるものを消して、以下のコードを貼り付けてください。
【コード】
Option Explicit
Sub macro1()
Const MAX_SHEET_NUMBER As Integer = 100
Const SHEET_NAME_START_ROW As Integer = 2
Dim i As Integer
Dim listSheet As Worksheet
i = SHEET_NAME_START_ROW
Set listSheet = ActiveSheet
Do While i <= MAX_SHEET_NUMBER + SHEET_NAME_START_ROW - 1 And _
Not listSheet.Cells(i, 1).Value = ""
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = listSheet.Cells(i, 1).Value
i = i + 1
Loop
End Sub
⑤3行目の「Sub」と書いてある行にカーソルを合わせ、実行ボタン(右向きの三角形のボタン)をクリックします。
この時点でワークシートが作成されました。このままだと、使用したマクロがブックに残ってしまい、通常の形式(xlsx形式)で保存できないので、次以降の手順で削除しましょう。
⑥左の欄の「Module1」と書いてあるところを右クリックし、「Module1の解放」を選択します。
⑦「削除する前にModule1をエクスポートしますか?」と聞かれるので、「いいえ」を選択します。
⑧画面右上の「×」ボタンをクリックして、ウィンドウを閉じます。
これで、完了です。
おわりに
ワークシートを大量に作成するといったような機械的な作業は、手作業でやっていると、時間もかかる上にミスも発生するので、良いことがありません。
本記事で紹介した方法であれば、シートが50であっても100であっても大した時間をかけずに作業を完了することができます。
ぜひ有効活用してみてください。