『EXCELマクロで条件付き書式セルがあったらメッセージを出したい』(ソラ) excelマクロでA列に赤色セルがあったら、 「A列に赤色セルがあります。確認して下さい」とメッセージを出したいです。 下記のマクロでは、セルに赤色を直接付けたものはメッセージか出ますが、 こちらの条件ではなく、データを引き込んだ後、 条件付き書式設定により、赤色セル表示になったセルがあっても、 メッセージがでません。 どうしたらいいでしょうか? マクロは下記のように記載しています。 Sub RED() Dim myRng As Range Application.FindFormat.Clear Application.FindFormat.Interior.Color = vbRed Set myRng = Range("A:A").Find(what:="", searchformat:=True) If Not myRng Is Nothing Then MsgBox "A列に赤色セルがあります。確認してください。" Else End If End Sub できれば、データを引き込んだ後に赤色になったセルに カーソルを飛ばしてからメッセージを出したいです。 よろしくお願い致します。 < 使用 Excel:Excel2016、使用 OS:Windows10 > ---- Findと結びつけて利用するものはないと思います。   もちろん不可能ではなく、各セルのDisplayFormatプロパティを使って、 ひとつづつ判定していけば可能は可能です。 (具体的なコードは、この学校の全文検索でDisplayFormatを調べると、  たくさんヒットしますので、トライしてみて下さい。)   そもそもですが、その「条件付き書式」の条件は、具体的にどのようなものですか? その式を提示されると、別のアプローチが提示される可能性があります。 (例:特定の値の時に色を付けるというハッピーなものなら、    値で検索する方法がありますね。(まあ、普通はこうはならないだろうが))   余談的なことを追記すると、 「条件付き書式」は基本的には警告なり注意喚起を目的としたものです。 検索対象に使うようなものではそもそも無いと思います。 そう言う目的であれば、別の列などに、明示的に値として持つほうが適切かと思います。 (γ) 2020/06/28(日) 05:15 ---- >できれば、データを引き込んだ後に赤色になったセルに >カーソルを飛ばしてからメッセージを出したいです。 色フィルターで抽出するのはだめでしょうか。 (マナ) 2020/06/28(日) 08:39 ---- 回答ありがとうございます。 具体的には下記のような表があります。 予定数はあらかじめ数値が入っています。 実績はデータをマクロで引き込んでいます。 データを引き込み後、予定数と引き込んだ実績が一致しなければ、 A列実績セルが赤色白文字に設定しています。 行数が多いので、不一致の欄があると、 目視ではなく、メッセージが出ると確認が早くできるので、マクロを作りたいです。 よろしくお願い致します。 A 列 B列 条件付き書式(A列の実績セルに入っている数式) 1 10 予定数   2 10 実績 A2セルの条件付き書式 セルの値が等しくない 数式 =A1 3 4 5 6 10 予定数 7 8 実績 A7セルの条件付き書式 セルの値が等しくない 数式=A6       A7は予定数と実績が一致しないのでセル赤色白文字になっています。 (ソラ) 2020/06/28(日) 10:23 ---- >2 10 実績 A2セルの条件付き書式 セルの値が等しくない 数式=A1 >7 8 実績 A7セルの条件付き書式 セルの値が等しくない 数式=A6  その説明はホントですか? 一つ一つ条件付き書式の数式を入れているんですか? 行数が多いんですよね?  とてもやってられない気がしてしまうのですが。 ※普通は(出来るか出来ないかは別にして)、範囲を一括選択して、 一つの条件数式でなんとかしたい思うものですけども。   現実には、B列に「予定数」とか「実績」とかの文字は無いんですよね? (半平太) 2020/06/28(日) 15:05 ---- B列には文字が入っています。 色フィルタですと、色の付いた行しかフィルタがつかないのでダメです。 この場合、6-7行目にフィルタがつかないとダメです。 (ソラ) 2020/06/28(日) 23:07 ---- >色フィルタですと、色の付いた行しかフィルタがつかないのでダメです。 なぜ「ダメ」と言うのか、理由がわからない。 不一致事象の有無を調べるんでしょう? 一つでも色のついたセルが抽出されたら異常とわかるじゃないですか。   ダメ出しするのは気持ちがいいかもしれないが、 本来、それは、そのしたほうが好ましいというレベルの話でしょう? それにあなた質問する立場なんでしょう?主客転倒していませんか? もともと予定と実績を横に並べれば済む話だろうし、 どうしても2行というなら、条件付き書式を予定と実績両方につければ済むのでは? (γ) 2020/06/29(月) 00:05 ---- 話がよくみえませんが、 >予定数はあらかじめ数値が入っています。 >実績はデータをマクロで引き込んでいます。 とのことですから、実績を書き込むマクロに (1) B列を1〜最終行まで順番にみていき (2) もしも、セルの値が"実績"であったら、 (3) その行と、1行上のA列の値を比較して、不一致なら対象セルとして覚えておく、 (4) もしもの話はおしまい (5) 順番に見終わったらループ処理は終了 (6) もしも、覚えたセルがあったら、 (7) メッセージを表示して (8) 該当セルにジャンプ(複数あったらちょっと困りそうだが) (9) もしもの話はおしまい という処理を追加したらどうですか? (もこな2 ) 2020/06/29(月) 06:17