ここから本文です

VBA 特定の文字を含むセル色を全て変更する方法 下記図のように左側がSHEET名「...

cho********さん

2016/6/316:06:12

VBA 特定の文字を含むセル色を全て変更する方法

下記図のように左側がSHEET名「データ」、右側がSHEET名「マスター」が存在します。

「データ」SHEETには列、行にかかわらず文字が記載されており、
「マスター」SHEETにはA列にセル色のついた文字が記載されています。

このとき、「データ」SHEETを「マスター」SHEETに基づいて、
「りんご」と文字が含まれているセル色は「りんご」のセル色と同じ赤色に、
「みかん」と文字が含まれているセル色は「みかん」のセル色と同じ黄色にさせたいと考えています。

「マスター」SHEETの文字やセル色はその都度変更されます。

上記を実行することができるプログラムをご教示お願い致します。

※EXCEL2010

Sheet,Excel2010,セル色,マスター,文字,Rng.Value,Set rng

閲覧数:
105
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

30246kikuさん

2016/6/316:59:14

以下でどうなりますか

標準モジュールに以下を記述し、Samp1 を実行してみます

※ Interior.ColorIndex で色指定してますが、
Interior.Color にするとか適宜変更してみてください


Public Sub Samp1()
   Dim rng As Range, r As Range
   Dim sAdr As String

   Set rng = Worksheets("マスター").Range("A1")
   With Worksheets("データ").UsedRange
      .Interior.ColorIndex = xlNone
      While (rng.Value <> "")
         Set r = .Find(rng.Value, LookAt:=xlPart)
         If (Not r Is Nothing) Then
            sAdr = r.Address
            Do
               r.Interior.ColorIndex = _
                  rng.Interior.ColorIndex
               Set r = .FindNext(r)
            Loop While r.Address <> sAdr
         End If
         Set rng = rng.Offset(1)
      Wend
   End With
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2016/6/7 09:52:01

ご回答ありがとうございます。ご提示いただいた後者の修正を行ったところ、無事に実行することができました。ありがとうございます。セルは結合されている箇所がありました・・・。説明不足で申し訳ありませんでした・・・。ご回答いただいたプログラムの構造はまだ理解しきれていませんが、これから調べて自分で作成できるようにします。ご教示ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

2016/6/316:54:47

以下のコードでいかがでしょうか?

Option Explicit
Sub Sample()
Dim st1 As Worksheet, st2 As Worksheet
Dim rng1 As Range, rng2 As Range
Set st1 = Worksheets("データ")
Set st2 = Worksheets("マスター")
For Each rng1 In st1.Cells.CurrentRegion
rng1.Interior.Color = xlNone
For Each rng2 In st2.Columns(1).CurrentRegion
If rng1.Value Like "*" & rng2.Value & "*" Then
rng1.Interior.Color = rng2.Interior.Color
End If
Next rng2
Next rng1
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる