エクセルVBAマクロを自動作成する無料アプリです。
例として「値をコピーし、最終行まで転記する」VBAマクロを作成します。
事例1 日付データを全ての行に転記する
できました😄
アプリの設定
アプリへのリンク ⇒◇コピー・切り取り
表示されるVBAコード
アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。
VBAコードを見る
Sub デモ() 'コピー・切り取り
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False ' 警告表示を停止
Dim セル範囲 As String, セル As Range
Sheets("Sheet1").Select
セル範囲 = "b1"
'◆最終行取得
Dim 下端行 As Long, 下端セル As Range
下端行 = Cells(Rows.Count, Range("b1").Column).End(xlUp).Row
Set 下端セル = Cells(下端行, Range("b1").Column)
Range(セル範囲).Select
Selection.Copy
Sheets("Sheet1").Select
Range(Range("b1"), 下端セル).Offset(0, -1).PasteSpecial Paste:=xlPasteAll, Transpose:=False
Application.CutCopyMode = False
Application.DisplayAlerts = True ' 警告表示を再開
Application.ScreenUpdating = True ' 画面描画を再開
End Sub
事例2 日付データを各行に転記する
できました😄
アプリの設定
アプリへのリンク ⇒◇コピー・切り取り
表示されるVBAコード
アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。
VBAコードを見る
Sub デモ() 'コピー・切り取り
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False ' 警告表示を停止
Dim セル範囲 As String, セル As Range
Sheets("Sheet1").Select
'表の最終行を決定
Dim 最終行 As Long
最終行 = Cells(Rows.Count, Range("B1").Column).End(xlUp).Row
セル範囲 = "b1" & ":" & Cells(最終行, Range("b1").Column).Address(False, False)
'◆最終行取得
Dim 下端行 As Long, 下端セル As Range
下端行 = Cells(Rows.Count, Range("b1").Column).End(xlUp).Row
Set 下端セル = Cells(下端行, Range("b1").Column)
'◆条件分岐
For Each セル In Range(セル範囲).Cells
If IsDate(セル.Value) = True Then
セル.Select
Selection.Copy
Sheets("Sheet1").Select
Range(セル, 下端セル).Offset(0, -1).PasteSpecial Paste:=xlPasteAll, Transpose:=False
Application.CutCopyMode = False
End If
Sheets("Sheet1").Select
Next
Application.DisplayAlerts = True ' 警告表示を再開
Application.ScreenUpdating = True ' 画面描画を再開
End Sub
ChatGPTで修正
あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!