たった1日で即戦力になるExcelの教科書

エクセル解説記事

エクセルセミナー【マクロVBA】シート一覧から新規シートを作成する方法

エクセルセミナー【マクロVBA】シート一覧から新規シートを作成する方法

 

こんにちは。

すごい改善の吉田です。


先ほどツイッターで拝見した疑問に勝手に回答してみます。


エクセルでセルの名前でシートをこう、がーって作ることできないの?
…というご質問です。


マクロでコードを書けば瞬殺ですね。


こうなります。


1.次のデータをエクセルシートのA1セルに貼り付けて、そのシートの名前を「シート名」にしてください。

 

シート名一覧
バギー一味冒険記
コビメッポ奮闘日記
ジャンゴのダンス天国
はっちゃんの海底散歩
ワポルの雑食バンザイ
エースの黒ひげ大捜査線
ゲダツのうっかり青海暮らし
ミスG・Wの作戦名“ミーツバロック”
あの人は今
エネルのスペース大作戦
CP9の任務外報告
サンジの地獄カマバッカよりお気を確かに
ロビンのひどい事するわ
フランキーの今週のおれダメだ
ウソップの一人じゃ死ぬ病
チョッパーの食いモンじゃねぇぞ コノヤロー
ナミのウェザーリポート
ブルックの一宿一パンツのご恩返し
ゾロのあいつらどこだ世話がやける

 

2.次のマクロコードを実行すると、シート一覧にある名前のシートが作成されます。


Sub シート作成()
  Application.DisplayAlerts = False
  Dim i As Long, sh As Worksheet
  For Each sh In Worksheets
    If sh.Name <> “シート名” Then
      sh.Delete
    End If
  Next sh
  
  With Sheets(“シート名”)
    For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
      Worksheets.Add
      ActiveSheet.Name = .Cells(i, 1)
    Next i
  End With
End Sub

 

この程度のマクロなら慣れた方なら一分で書けます。手作業でやるよりはるかに早く正確にできてしまいますね。

 

弊社のエクセルマクロVBAセミナーではこのようなコードがバリバリ書けるようにトレーニングさせて頂いています。