エクセルVBAマクロを自動作成する無料アプリです。
例として「条件と一致する行を切り取って、貼り付ける」VBAマクロを作成します。
事例 G列が黄色の行を削除します
マクロを実行すると、済の行が右に移動しました。
できました😀
なお、左の表の空白行の削除は、条件を空白セルにして削除します。
連続処理はこちらから
アプリの設定
アプリへのリンク ⇒コピー・切り取り
【ポイント】
■ コピーする範囲は、「済」のあるA列を選びます。
■ 範囲オプションは、途中に空白が無いB列を選びます。
■ 実際に処理する範囲を、A列からF列まで6列Offset(,6)します。
■ 貼り付け先セルは、「上のセルの最終行の下に貼り付け」を選びます。
表示されるVBAコード
アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。
VBAコードを見る
Sub デモ() 'コピー・切り取り
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("Sheet1").Select
'表の最終行を決定
Dim 最終行 As Long
最終行 = Range("B1").End(xlDown).Row
セル範囲 = "A1" & ":" & Cells(最終行, Range("A1").Column).Address(False, False)'◆条件分岐
For Each セル In Range(セル範囲).Cells
If セル.Value = "済" Then
セル.Select
Selection.Offset(0, 0).Resize(, 6).CutSheets("Sheet1").Select
Range("H1").Select
Dim 下端行 As Long, 現在列 As Long, 相手セル As String
下端行 = Selection.CurrentRegion.Row + Selection.CurrentRegion.Rows.Count - 1
現在列 = ActiveCell.Column
相手セル = Cells(下端行, 現在列).Address(False, False)
If Range(相手セル).Value <> "" Then
相手セル = Cells(下端行 + 1, 現在列).Address(False, False)
End If
Range(相手セル).Select
ActiveSheet.PasteEnd If
Next
Application.DisplayAlerts = True ' 警告表示を再開
Application.ScreenUpdating = True ' 画面描画を再開
End Sub
ChatGPTで修正
あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!