即座にエクセル作業を自動化する無料アプリ

AIで自分の価値を高める方法とは🙄

MENU

【ノーコードVBA】一覧表(リスト)から個別シートを作成する

エクセルVBAマクロを自動作成する無料アプリです。

例として「一覧表(リスト)から個別シートを作成する」VBAマクロを作成します。


あなたのニーズは、こちらかも?

 

事例 A列のリストから、個別のシートを作成します

マクロを実行すると、個別のシートが作成されました。

アプリの設定

アプリへのリンク
 ⇒一覧表のシート名をもとに、各シートを作成

表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。

 

VBAコードを見る

Sub デモ() '一覧表の名前でシートを作成 
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("Sheet1").Select
 '表の最終行を決定
Dim 最終行 As Long
最終行 = Range("A1").End(xlDown).Row
セル範囲 = "a1" & ":" & Cells(最終行, Range("a1").Column).Address(False, False)

 Range(セル範囲).Select
Dim 現在シート As Worksheet, 左端列 As Long, 左上行 As Long, 右下行 As Long, リスト行 As Long, シート As Worksheet, シート名 As String
Set 現在シート = ActiveSheet
左端列 = Selection(1).Column
左上行 = Selection(1).Row
右下行 = Selection(Selection.Count).Row
For リスト行 = 左上行 To 右下行
   Dim シートあり As Boolean
   For Each シート In Worksheets
       シートあり = False
       シート名 = 現在シート.Cells(リスト行, 左端列 + 1 - 1).Text
       If シート.Name = シート名 Then
           シートあり = True
           Exit For
       End If
   Next シート
   If シートあり = False Then
       Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = シート名
   End If
Next リスト行
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub   

 

 

【スクリーンショッ14選】エクセルVBAでシート処理