網かけのセルだけ処理するマクロ
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
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」として入力規則を削除しています。
[ 2015年6月25日 | カテゴリー: Excel | タグ: VBA ]
« 指を英語でいうと? | 片手で0から31までを表す方法 »
コメントを残す