[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『(マクロ)配列内の検索値をセル範囲になければセル着色』(マイン)
いつもお世話になっております。
セル指定範囲内に指定文字(複数)が無い場合、そのセルに着色する方法についてアドバイスをお願い致します。
全体の流れは
・配列に検索値リスト(BM7:BM&最終行)を格納したものを
・検索範囲(E7:AI66 ※行と列範囲は可変)内のセル値を1つづつみていき
・検索値に無い値がセルにあった場合は
・そのセル背景を赤に着色する
といった処理をしたく下記のとおりコードを作成している「途中」です。
というのが、コード下方の「★検索開始」の部分の記述方法が分からず、質問をさせていただきました。
何卒、アドバイスの程よろしくお願い致します。
Sub 指定範囲にリストの値がない場合はそのセル色を赤にする()
Dim sh1 As Worksheet Set sh1 = ActiveSheet '今開いているSheet
'★検索値の取得と配列への格納 Dim r1 As Long '検索値最終行 Dim myRange As Range '検索値のあるリスト範囲 Dim myArray As Variant '検索値を格納 r1 = sh1.Range("BM" & Rows.Count).End(xlUp).Row Set myRange = sh1.Range("BM7:BM" & r1 + 1) 'セル範囲を格納 ※+1で空白も加える '※配列に格納 myArray = myRange
'★検索範囲の取得 Dim cl As Long '最終列 Dim r2 As Long '最終行 Dim hani As Range '検索範囲 For cl = sh1.Cells(4, 36).End(xlToLeft).Column To 1 Step -1 If sh1.Cells(4, cl) <> "" Then Exit For Next cl r2 = sh1.Range("B" & Rows.Count).End(xlUp).Row Set hani = sh1.Range(sh1.Cells(7, 5), Cells(r2, cl))
'★検索開始---------------------------------------
Dim s As Range For Each s In hani '検索するセル範囲 If Not s.Value Like "配列内の検索値全部と比較" Then '一覧にある文字以外に着色 s.Color = vbRed 'フォントを赤着色 End If Next s '★終了----------------------------------------------
End Sub
< 使用 Excel:Excel2010、使用 OS:Windows7 >
条件付き書式でできることだと思いますが
だめな理由があるのでしょうか。
(マナ) 2019/01/10(木) 19:50
今気づきました。
条件付き書式でできました。
すみません、マクロにこだわりすぎたようです。
解決です。
(マイン) 2019/01/10(木) 19:58
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.