マクロセルの値によってセルの色を消す
エクセル2013です。
セルの値が0又は空白の場合でそのセルが色塗りされていたら色を消す
というマクロをを作成しました。
ただ700行55列では処理が遅いです。
Sub 色消()
'成功
Dim 最終行
Dim 最終列
Dim 対象セル As Range
最終列 = Cells(8, Columns.Count).End(xlToLeft).Column '8行目の最終列を取得
最終行 = Cells(Rows.Count, 1).End(xlUp).Row 'A列の最終行を取得
For Each 対象セル In Range(Cells(10, 17), Cells(最終行, 最終列))
If 対象セル.Value = 0 Or 対象セル = "" Then
対象セル.Interior.ColorIndex = 0
End If
Next 対象セル
End Sub
対象範囲から対象セルを全部見つけて一括処理すれば早いのではと
以下のマクロを作成してみましたが
Set 対象範囲 = Cells.Find(What:=0 Or "", LookIn:=xlValues, LookAt:=xlWhole)
で構文ERRです。
どこを直せばいいのでしょうか?
よろしくお願いします。
Sub 色消2()
'2014/8/4
'失敗
Dim 対象範囲
Dim 最終行
Dim 最終列
最終列 = Cells(8, Columns.Count).End(xlToLeft).Column '8行目の最終列を取得
最終行 = Cells(Rows.Count, 1).End(xlUp).Row 'A列の最終行を取得
対象範囲 = Range(Cells(10, 17), Cells(最終行, 最終列))
Set 対象範囲 = Cells.Find(What:=0 Or "", LookIn:=xlValues, LookAt:=xlWhole)
If Not 対象範囲 Is Nothing Then
対象範囲.Interior.ColorIndex = 0
End If
End Sub
お礼
ありがとうございます。 やはり、やり方があるのですね。