電気制御に関する設計業務、製作業務、ご協力いたします!

Excelでリストから複数シートを作成する(参考VBA、ダウンロードあり)

EXCEL|リストから複数シートを作成

スポンサーリンク


このページではExcelでリストからシートを作成するVBAを使った方法をご紹介します。

Excelで複数シートを作成するとき、先にシートリストを作成することがあります。
先にリストを作成すると、どんなシートを作成するのか整理できるのでいいですね。

でも、たくさんのシートを追加していくのは時間もかかるし疲れます。
リストを元にサッと作れたら早く楽に作成できていいですよね?

VBAを使えば、簡単にサッと作れます。
このページの手順通りにやれば誰でもリストからシート作成可能です。

先にリストを作って、このページからコピー&ペーストして仕事をさっと終わらせましょう。
参考ファイルをダウンロードすることも出来ますのでご活用ください。

※シート名を取得する方法もご紹介していますので、併せてご覧ください。

Excelのシート名を取得する方法(参考VBA、ダウンロードファイルあり)Excelのシート名を取得する方法(参考VBA、ダウンロードファイルあり)

スポンサーリンク

1.普通にシートを作成するときは?

シートを作成するときは?

 

普通にシートを作成するときは、下にあるシートタブの脇にある+に○のマークをクリックします。

 

すると、シートが追加されます。

 

5シート以内であれば、手動で追加してもそれほど時間もかからずに出来ると思います。

ですが、10や20もシートを作成しなければならないとなると、かかる時間は大幅に増えます。
リストがあるのなら、そのリストの名称でサッと作成できれば間違いもなくて早いですよね?

ということで、リストから作成する方法を説明します。

 

目次へ戻る

 

2.リスト名のシートを作成したい!

もっといっぱいのシートを簡単に作成したい

 

リストからシートを連続作成する方法をご紹介します。

 

2-1.リストがあるExcelファイルを開く or 新規でExcelを開く

以下の画像は新規ファイルにリストを作成したものです。

新規ファイルを開いてリスト作成

 

2-2.『Alt』 + 『F11』 を押してVBAを起動する

alt + F11 を押した後

 

2-3.『Alt』+『I(アイ)』を押して、『Alt』は離さずに『M』を押して標準モジュールを挿入する

 

まずは『Alt』+『I(アイ)』を押した後の画面です。

alt + i を押した後

 

その後、『Alt』を離さずに『M』を押した後の画面です。

alt + M 押した後

 

 

2-4.ウィンドウの白いところに下記のコードを貼り付けする

 

(以下、貼り付けするコード)
ーーーーーーーーーーーーーー
Sub リストを下に連続シート作成()

Dim i As Long
Dim Addc As Long
Dim Addr As Long
Dim n As Long
Dim MySheet As Worksheet

Addc = ActiveCell.Column
Addr = ActiveCell.Row
i = 0
Set MySheet = ActiveSheet

Do

n = Addr + i

If MySheet.Cells(n, Addc) <> “” Then

Sheets.Add after:=ActiveSheet
ActiveSheet.Name = MySheet.Cells(n, Addc).Value

Else: If MySheet.Cells(n, Addc) = “” Or i > 100 Then Exit Do

End If

i = i + 1

Loop

End Sub
ーーーーーーーーーーーーーー

 

貼り付け後は以下のようになります。

コードを貼り付けた後

 

2-5.貼り付けしたらVBAのウィンドウを閉じる

 

2-6.リストの最上段のセルを選択する

B5セルを選択

 

 

2-7.『Alt』 + 『F8』 を押してマクロのウィンドウを表示する

alt + F8 を押した後

 

2-8.そのまま『Enter』を押すと、シートが作成される

実行してシートが作られた後

 

このマクロは、リストに文字が入力されていないところ(空白セル)まで入力されている名称でシートを連続作成します。
今回の場合はリストに A~E まで入力されており、その後空白セルがあります。

実行後は A~E までのシートを作成できました。

 

目次へ戻る

 

3.タテにもヨコにも対応したマクロ

 

 

2項では縦(上から下)にリストを読んでシートを連続作成しましたが、横(右)にリストを読んで作成したい場合もありますよね?
そんなときは、以下の手順でマクロを追加してください。

 

3-1.Excelファイルを開いて 『Alt』 + 『F11』 を押してVBAを起動する

 

先ほどのリストを全て数字で埋めたリストで実行してみたいと思います。

 

VBAを起動すると、先ほど貼り付けたコードが出てきます。

コードを貼り付ける前

 

3-2.以下のコードを貼り付けする

 

(以下、貼り付けするコード)
ーーーーーーーーーーーーーー
Sub リストを右に連続シート作成()

Dim i As Long
Dim Addc As Long
Dim Addr As Long
Dim n As Long
Dim MySheet As Worksheet

Addc = ActiveCell.Column
Addr = ActiveCell.Row
i = 0
Set MySheet = ActiveSheet

Do

n = Addc + i

If MySheet.Cells(Addr, n) <> “” Then

Sheets.Add after:=ActiveSheet
ActiveSheet.Name = MySheet.Cells(Addr, n).Value

Else: If MySheet.Cells(Addr, n) = “” Or i > 100 Then Exit Do

End If

i = i + 1

Loop

End Sub
ーーーーーーーーーーーーーー

 

3-3.VBAのウィンドウを閉じる

 

3-4.作成したいリストの左端のセルを選択して 『Alt』 + 『F8』 を押す

 

まずは作成したいリストの左端のセルを選択します。
今回はセル”C7″を選択して 11~15 のシートを連続作成します。

 

セルを選択した後

そして 『Alt』 + 『F8』 を押すと以下のようにウィンドウが表示されます。

 

3-5.『リストを右に連続シート作成』を選択して『実行』をクリックする

 

実行すると以下の画像のように 11~15 のシートが作成されます。

 

拡大すると以下のようになっています。

 

こちらのマクロも右にリストを読んで空白があるまでシートを連続作成します。
これで、縦にも横にもリストを読み込んでシートが作成できるようになりました。

 

目次へ戻る

 

スポンサーリンク

4.ダウンロード

 

以下のパスワードを入力欄に貼り付けて、Downloadボタンをクリックしてファイルをダウンロードしてください。

PASS:sheet-create

 

目次へ戻る

 

5.さいごに

 

さいごに

 

リストがあれば、簡単にシートを連続作成できます。
このページからコピペして使ってみてください。

VBAは使ったことがなくても、コードさえコピーすれば簡単です。
VBAを簡単に登録する方法は以下のページにまとめてあります。

Excelでマクロ(VBA)を登録して実行する方法|手順さえ分かれば簡単Excelでマクロ(VBA)を登録して実行する方法|手順さえ分かれば簡単

今回のご紹介した新規シートを作成する方法とは別に、既存のフォーマットとなるシートを複製しながらリストの名称でシートを作成する方法もご紹介しています。

フォーマットシートをコピーしてリスト名称のシートを連続作成する方法フォーマットシートをコピーしてリスト名称のシートを連続作成する方法

ケースバイケースで新規シート作成と既存シートを複製する方法を使い分けると効果的です。

Excelの小技をいくつも組み合わせて時間短縮しましょう。