過去ログ

                                Page     286
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼複数条件一致のセル・文字色  なこ 02/11/2(土) 18:14
   ┗Re:複数条件一致のセル・文字色  Nakamura 02/11/3(日) 2:14

 ───────────────────────────────────────
 ■題名 : 複数条件一致のセル・文字色
 ■名前 : なこ
 ■日付 : 02/11/2(土) 18:14
 -------------------------------------------------------------------------
   初めての質問です。
エクセルを初めてまだ浅くマクロもよく分かりません(×_×)
が、よろしくお願いいたします。

1シート内のA1:F10という範囲があり、A11:F11の列と一致する数値だけセルの色を変えたいのですが(数値の色を変えるでもいいのですが。。)条件書式では3っつだけなので無理みたいです。
関数のヘルプで色々調べたつもりですが、わかりません。(;>_<;)ビェェン

こんな初心者ですが、お助けをお願い致します。
 ───────────────────────────────────────  ■題名 : Re:複数条件一致のセル・文字色  ■名前 : Nakamura  ■日付 : 02/11/3(日) 2:14  -------------------------------------------------------------------------
   こんばんは

セルA1:F10の範囲で入力された数値が、A11:F11の何れかのセルと一致したら色を
変えるにはこんな感じです。

該当シートモジュールに以下の様に記述して下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
  
  Dim rg As Range

  With Target
  
    If .Row > 10 Or .Column > 6 Then Exit Sub
    
    Set rg = Range("A11:F11").Find(.Value, , xlValues, xlWhole, xlColumns)
    
    If rg Is Nothing Then Exit Sub
    
    .Interior.ColorIndex = 3  ' 文字なら .Font.ColorIndex = 3
    
    Set rg = Nothing
    
  End With
  
End Sub

一括で変換したいならシートモジュール又は標準モジュールに
以下の様に記述して下さい。

Sub test()

  Dim rg As Range, frg As Range
  
  With ActiveSheet

    For Each rg In .Range("A1:F10")
  
      Set frg = .Range("A11:F11").Find(rg.Value, , xlValues, xlWhole, xlColumns)
    
      If Not frg Is Nothing Then
    
        rg.Interior.ColorIndex = 3  ' 文字なら rg.Font.ColorIndex = 3
    
        Set frg = Nothing
      
      End If
    
    Next
  End With
  
End Sub

それでは
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 286