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

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

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

堺東 エステ

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

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

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

 念のため、別途起動されているアプリケーション終了し

 必要に応じて、バックアップを取得した後にお試しください。

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

 【動作環境:Windows10 & Office365】


ダウンロード
非表示セルクリア.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.