【Excel VBA 高速マクロ】非表示セルの値クリア

堺東のエステ サロン はインナーサーフェス.

堺東の筋膜リリースによる リラクゼーション マッサージサロン

堺東 エステ

【動作環境:Windows10 & Office365】

 

 

非表示になっているセルの値をクリアするコードです。

 

 

一般的には、Forループ処理にて

 

 

対象が非表示の場合、都度 " ClearContents " させるケースが多いと思うのですが

 

 

数万件を超える処理をさせると

 

 

時間がかかりフリーズするケースもあるため

 

 

まず、非表示セルを1つずつ記憶していき

 

 

最終的に " ClearContents "するようにしています。

 

 

実際の使用例イメージにつきましては

 

 

下記ダウンロードいただければと思います。

 

※プログラムを動作する際には

 念のため、別途起動されているアプリケーション終了後にお試しください。

 ご利用のシステム環境によっては、作動しない場合がございます。


ダウンロード
非表示セルクリア.xlsm
xlsm ファイル 22.9 KB

Option Explicit

Sub Clear_Hidden_Cells()    'A5セル以降、非表示セルの値と数式をクリア

 

    If Worksheets("top").FilterMode = False Then

        MsgBox "フィルターで絞り込まれていません。"

        End

    End If

    

    Dim i As Long

    Dim r As Range

    Dim tg As Range

    Dim maxrow As Long  '最終行

        maxrow = Worksheets("top").UsedRange.Rows(Worksheets("top").UsedRange.Rows.Count).Row

    

    For i = 5 To maxrow '5行目スタート

        Set r = Worksheets("top").Range("A" & i)    '対象のシートとセル

        If Rows(i).Hidden Then  '対象行が非表示の場合

            If tg Is Nothing Then

                Set tg = r

            Else

                Set tg = Union(tg, r)   '複数セル

            End If

        End If

    Next

    

    If Not tg Is Nothing Then

        tg.ClearContents    '対象セルが存在した場合、値と数式をクリア

    End If

    

    If Worksheets("top").FilterMode Then Worksheets("top").ShowAllData

    Range("A4").Select

    MsgBox "終了"

    

End Sub

堺東のマッサージ サロン はインナーサーフェス.

堺東の女性専用プライベートエステティックサロン【公式】inner surface.

キャッシュレス_5%還元_堺東_エステ_inner surface
堺東エステティックサロン_VISA_mastercard_AMERICAN EXPRESS_JCB_Diners Club INTERNATIONAL_Discover Card