【エクセルマクロ】ダブルクリックで行を非表示:自動化が超便利!

エクセルマクロ_ダブルクリックで行を非表示_アイキャッチ ExcelVBA

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

セルをダブルクリックして、行を非表示にします。
さらに行を非表示→再表示に戻すVBAコードもご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。

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

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


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行目を再表示します。


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

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

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載