【ノーコード】VBAコードを作成する無料アプリ

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

MENU

【ノーコードVBA】12か月分(31日分)のシートを作成する

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

例として「原本シートをコピーし、12か月分(31日分)のシートを作成する」VBAマクロを作成します。

事例 12か月分のシートを作成する

コピーするシートの名前は、「原本」にしました。

コピーしたときに使うシートの名前を「リスト」シートに縦に並べます

 

アプリへのリンク

アプリへのリンク
 ⇒原本シートをコピーし、名前を付ける

 

アプリの画面

 

ポイント
リストの全てのシートを作る」のチェックします。

作成されたコード

アプリで作成したコードを、VBE画面に貼り付けて実行します。

 

 

右端に2月のシートが作成され、A1セルにシート名が転記されました。

ポイント1
リストの書式に「日付」は不可です。表示形式を変えても、セルの値はスラッシュ(/)のままなので、シート名にしたときエラーになります。

 

ポイント2 
【原本】シートは、関数を入れることで、カレンダー日付が入ります。

A3セルの関数
=TEXT(DATE(LEFT(A1,4), VALUE(MID(A1,6,LEN(A1)-6)), 1), "yyyy/mm/dd")
A4セルの関数以降下方向の関数
=A3+1
ポイント3
他の利用方法として、リストに1から31までの日付をいれたり、支店名や商品名を入れたりできます。

 

できました😊

 

VBAコードを見る

 
Sub デモ() '原本シートをコピーし、名前を付ける
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim newSheet As Worksheet, myCell As Range, endCell As String
Sheets("リスト").Select
endCell = Cells(Rows.Count, Range("a1").column).End(xlUp).address
For Each myCell In Range("a1" & ":" & endCell)
    Sheets("原本").Copy After:= Worksheets(Worksheets.Count)
    Set newSheet = ActiveSheet
    newSheet.Name = myCell.Value
    newSheet.Range("a1").Value = myCell.Value
Next myCell
EndSub:
Application.DisplayAlerts = true
Application.ScreenUpdating = True
End Sub 
   

 

 

 

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