網かけのセルだけ処理するマクロ

Excelでデータの入力規則を使っていたのですが、網かけ部分には入力規則を適用しないことになりました。
一つずつ削除すると面倒なのでマクロで処理することにしました。

Sub 網かけのセルだけ処理()
    For r = 1 To 10
        For c = 1 To 10
            With Cells(r, c)
                If .Interior.Pattern <> xlPatternNone Then
                    'ここに処理を書く。
                    .Validation.Delete
                End If
            End With
        Next c
    Next r
End Sub

このサンプルでは10行×10列の範囲を対象にしています。
「Cells(r, c).Interior.Pattern」で網かけの設定をします。「xlPatternNone」だと網かけがありません。これ以外は網かけです。
「<> xlPatternNone」とすることで網かけ部分だけ処理します。
ここでは「.Validation.Delete」として入力規則を削除しています。

コメント

タイトルとURLをコピーしました