[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『検索結果にて条件により行に色を付けたい』(MOYU)
あるセルの検索結果にて、条件により行に色を付けたい。
例えば、F1のセルに"OK"という文字が入っていたら、 1.A1を参照し、何らかの文字が入っていたら、A1〜F1のセルに色を付ける。 2.A1が空白である場合はB1を参照し、何らかの文字が入っていたら、 B1〜F1のセルに色を付ける。 3.上記2をF1(E1?)まで繰り返す。
ということをやりたいのです。 何か方法がありましたら教えて下さい。お願いします。
マクロ(VBA)なら出来ると思いますが、構わないですか?
(INA)
A1のセルを選択して「メニューバー」⇒「書式」⇒「条件付き書式」を開き 条件1に「数式が」と「=AND($F1="OK",$A1<>"")」を指定して色をパターンから選び OKをクリックします。これをB1とA列のみの必要行にコピーして下さい。 次にB1の「条件付き書式」を開いて、 条件2に「数式が」と「=AND($F1="OK",AND($A1="",$B1<>"")) 」を追加して 色も選び OKをクリックします。 これをC1〜F1までコピーして、B1〜F1を必要行コピーすればできると思うのですが、 いかがでしょうか? A1もB1も空白のときには、"OK"が入っていても色は付きませんがよろしいですか?(スー)
(INA)様(スー)様、返事が大変遅くなり申し訳ありません。
A1もB1も空白のときも色を付けたいので、「条件付き書式」では やりたいことと違う結果になってしまいます。 なので、VBAで全然構いませんので、お教え願えたらと思います。 よろしくお願いします。 (MOYU)
お待たせしました。
F列を対象にしています。F列で OK と入力されているセルを判別して処理します。
Sub sample() Dim myRange As Range Dim c As Range Dim i As Long
Set myRange = Range("F:F")
For Each c In myRange If c.Value = "OK" Then
For i = -5 To -1 If c.Offset(0, i).Value <> "" Then c.Offset(0, i).Resize(1, Abs(i) + 1).Interior.Color = vbYellow Exit For End If Next i
End If Next c
End Sub
(INA)
(INA)様、ありがとうございます。待ってました。 早速使用させていただき、少しの変更を加えさせていただいたら ほぼ想像していたとおりのことが出来ました。 感動です。
VBA初心者な私ですが、本VBAの内容を理解することから始めようと思います。 (いきなりこの内容じゃ難しい気はしますが・・・。) あせらず少しずつ勉強していきたいと思います。
この度はありがとうございました。 きっとまたお邪魔させてもらいます。
(MOYU)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.