ExcelVBA ダブルクリックで行に色付け・行削除・行非表示(動画あり)

ExcelVBA ダブルクリックで行に色付け・行削除・行非表示-アイキャッチ ExcelVBA

エクセルマクロで、ダブルクリックで行に色付け・行を削除・行を非表示にするVBAコードをご紹介します。

動画で動作確認ができます👇

ダブルクリックで行に色付け

以下のExcelVBAを実行すると、ダブルクリックした行の背景色を黄色に変更します。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    With Target
        Rows(Target.Row).Interior.Color = 65535
        Cancel = True
    End With

End Sub

 
ダブルクリックした行の背景に色付けします。


 

特定の列をダブルクリックしたときのみマクロを実行したい時

下記コードのように、IF文を追加します。

[If .Column = 1 Then] は、1列目(A列)をダブルクリックしたときのみ、
マクロが実行されるように設定しています。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    With Target
        If .Column = 1 Then
            Rows(Target.Row).Interior.Color = 65535
            Cancel = True
        End If
    End With

End Sub

 
 

ダブルクリックで行を非表示

以下のマクロを実行すると、ダブルクリックした行を隠します。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    With Target
       Rows(Target.Row).EntireRow.Hidden = True
       Cancel = True
    End With

End Sub

 
ダブルクリックした行を自動で非表示にします。

例えば9行目をダブルクリックすると、9行目が非表示になります。


 

マクロコードを記述する場所

「Sheet1」内のセルをダブルクリックしたときに、マクロを実行したい場合


 

マクロコードは「Sheet1」に記述します。


 
 

ダブルクリックで行を非表示(複数行)

以下のマクロを実行すると、ダブルクリックで複数行を非表示にします。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    With Target
       Rows(Target.Row & ":" & Target.Row + 2).EntireRow.Hidden = True
       Cancel = True
    End With

End Sub

 
セルをダブルクリックすると、3行を一括で非表示にします。

例えば8行目をダブルクリックすると、8~10行目を非表示にします。


 
 

ダブルクリックで行を非表示(非表示⇔再表示)

以下のマクロを実行すると、特定セルをダブルクリックすると行の非表示と再表示を繰り返します。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    With Target
        If .Column = 1 And .Row = 1 Then
            If Rows("8:10").EntireRow.Hidden <> True Then
            
                '特定行を非表示
                Rows("8:10").EntireRow.Hidden = True
            Else
                '特定行を再表示
                Rows("8:10").EntireRow.Hidden = False
            End If
        End If
        
        Cancel = True
    End With

End Sub

 
セルA1をダブルクリックすると、8~10行目を非表示にします。


 

もう一度セルA1をダブルクリックすると、8~10行目を再表示します。


 
 

ダブルクリックで行を削除

以下のExcelVBAを実行すると、ダブルクリックした行を自動削除します。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
    With Target
        Rows(Target.Row).Delete Shift:=xlUp
        Cancel = True
    End With
 
End Sub

 

ダブルクリックした行を自動削除します。
例えば 5行目をダブルクリックすると、5行目を削除します。

このマクロを実行すると、
「戻る」ボタンを押しても、マクロ実行前の状態に戻すことはできませんので ご注意ください。


 

特定列をダブルクリックした時に、マクロを実行したい時

下記コードのように、IF文を追加します。

[If .Column = 1 Then] は、1列目(A列)をダブルクリックしたときのみ、
マクロが実行されるように設定しています。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
    With Target
        If .Column = 1 Then
           Rows(Target.Row).Delete Shift:=xlUp
           Cancel = True
        End If
    End With
 
End Sub

 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】ダブルクリック処理を自動化する使用例まとめ
 

【エクセルマクロ】ダブルクリックで処理を実行:超便利12選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説