Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6622 / 76734 ←次へ | 前へ→

【75712】Re:シートの値を参照して色をつけたい
発言  kanabun  - 14/6/18(水) 10:41 -

引用なし
パスワード
   ▼dai さん:

>マクロをかけるとシート1のA列を参照して同じだったら
>下記のようにしたいです。
>A列          B列   C列     D列
>Aさん(赤色)   あ(赤色)  11      さ
>Bさん       た       12       は
>Cさん(赤色)   ま      13       か(赤色)

ぼくがやるとすれば、
○○の一つ覚えですがSheet1A列をDictionaryに登録しておき、
Sheet2からはそれを「辞書引き」して何度もLOOKUPしなくて
すむようにします。

'-------------------------------------------- 標準モジュールに
Sub Lookup1()
  Dim dic As Object
  Dim i As Long
  Dim v
  
  '---- Sheet1 A列を辞書にキー登録
  With Worksheets(1)
    v = .Range("A2", .Cells(1).End(xlDown)).Value
  End With
  Set dic = CreateObject("Scripting.Dictionary")
  For i = 1 To UBound(v)
    dic(v(i, 1)) = Empty
  Next
  
  '---- Sheet2のB列またはD列が 辞書にあれば セルを色塗り
  With Worksheets(2)
    .UsedRange.Interior.ColorIndex = xlNone
    v = .Cells(1).CurrentRegion.Columns(2).Resize(, 3).Value
    For i = 1 To UBound(v)
      If dic.Exists(v(i, 1)) Then
        .Cells(i, 1).Interior.Color = vbRed
        .Cells(i, 2).Interior.Color = vbRed
      ElseIf dic.Exists(v(i, 3)) Then
        .Cells(i, 1).Interior.Color = vbRed
        .Cells(i, 4).Interior.Color = vbRed
      End If
    Next
  End With
End Sub

6 hits

【75709】シートの値を参照して色をつけたい dai 14/6/18(水) 1:28 質問
【75712】Re:シートの値を参照して色をつけたい kanabun 14/6/18(水) 10:41 発言
【75713】Re:シートの値を参照して色をつけたい dai 14/6/18(水) 16:02 お礼
【75714】Re:シートの値を参照して色をつけたい kanabun 14/6/18(水) 16:36 発言
【75715】Re:シートの値を参照して色をつけたい dai 14/6/18(水) 16:43 発言
【75716】Re:シートの値を参照して色をつけたい dai 14/6/18(水) 16:54 発言
【75717】Re:シートの値を参照して色をつけたい kanabun 14/6/18(水) 17:00 発言
【75718】Re:シートの値を参照して色をつけたい dai 14/6/18(水) 17:01 お礼

6622 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free