【ノーコード】1分でExcelを自動化する無料ツール

コードの知識不要😊ChatGPTしようぜ⚾17

MENU

【ノーコードVBA】(指定した)すべてのセルが空白の行を削除する

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

例として「(指定した)すべてのセルが空白の行を削除する 」VBAマクロを作成します。

(ページの末尾に、VBAコード掲載)

事例 表の2列目、3列目が空白の行を削除する

※ 1列目、2列目、3列目を指定すると全列空白になります。

 

アプリの設定

アプリの設定です。

アプリのトップページ 

⇒▼セルの選択・挿入・削除・結合・ハイパーリンク

⇒【ツール】(指定した)すべてのセルが空白の行を削除

 

表示される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("d1").Column).Address(False, False)
     Dim 行 As Long, 列 As Variant, 空白 As Boolean, 削除行 As Range
    Set セル = Range(セル範囲)
    ' すべての行を走査
    For 行 = セル.Rows.Count To 1 Step -1
        空白 = True
        ' 各行のセルを確認
       For Each 列 In Array(2, 3)
            If セル.Cells(行, 列).Value <> "" Then
                空白 = False
                Exit For
            End If
        Next 列
        ' セルがすべて空白である場合、その行を削除範囲に追加
        If 空白 Then
            If 削除行 Is Nothing Then
                Set 削除行 = セル.Rows(行)
            Else
                Set 削除行 = Union(削除行, セル.Rows(行))
            End If
        End If
    Next 行
    ' 削除範囲が存在する場合、それを削除
    If Not 削除行 Is Nothing Then
        削除行.Delete Shift:=xlUp
    End If
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub

 

ChatGPTで修正

コードの改変は、無料で使えるマイクロソフトの「BingAIチャット」を使います。
とても簡単です!

アプリはこちらから↓↓↓↓