こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

同じ値を同じ行×列で見つけた場合のセルの塗潰しは?

どなたかご存知でしたらご回答よろしくお願いします。
●質問
下記の様に、前回数字、今回数字として10行×5列の中にそれぞれ
1~31迄の数字が重複ありで入っています。
【前回数字】の1 4 5 9 12の1はセルのA1、
1 8 15 25 26の26はE10とします。
【今回数字】の4 5 9 12 16の4はセルのG1、
5 13 14 23 28の28はK10とします。
A1=G1、B2=H2・・・D10=G10、E10=K10とそれぞれの値が同じかチェックを
行い、等しい場合(例:29(E3=K3)、18(B4=H4)、21(C4=I4)、22(D4=J4)・・・)には、【今回数字】側のセル(K3、H4、I4、J4・・・)を
塗潰し、塗潰したセルを起点として8方向(上、右、左、下、右上、左上、左下、右下)のセル塗潰す方法が知りたいです。

  【前回数字】    【今回数字】
 1  4 5 9 12   4  5  9  12  16
 2  3 6 8 27   3  25 26  27  28
 10 14 15 28 29  8  10 11  14  29
 16 18 21 22 26  15  18 21  22  23
 7 11 13 24 25   1  2  6  7  13
 2  5 7 10 16   1  8  9  15  25
 3 11 12 18 28   2  10  12  18  26
 6  9 13 21 29   3  6  11  16  21
 4 14 22 24 27   4  7  22  27  29
 1  8 15 25 26   5  13 14  23  28 

●注意事項
 ・使用するエクセルは2010です。
 ・【前回数字】、【今回数字】共に、セルの中の数字は
   1~31迄の数字がランダムに入ります。
以上、よろしくお願いします。

投稿日時 - 2018-01-03 21:07:24

QNo.9414590

困ってます

質問者が選んだベストアンサー

理論上は、条件付き書式でできます。
あまりにも条件が複雑で、何度やっても失敗。挫折しました。
マクロでもいいですか。
色の指定がなかったので、私の好みで付けました。
サイズが変わった場合、Const RowSとConst ColSの数字を変更してください。
msMike さんが図を作ってくれたので、どんなものを作ればいいかわかりました。ありがとう。
'
Option Explicit
'
Sub Macro1()
'
  Const RowS As Integer = 10
  Const ColS As Integer = 5
  Dim Row As Integer
  Dim Col As Integer
  Dim RowF As Integer
  Dim ColF As Integer
  Dim RowR As Integer
  Dim ColR As Integer
'
  Cells.Interior.Pattern = xlNone
'
  For Row = 1 To RowS
    RowF = Row + (Row > 1)
    RowR = Row - (Row < RowS) - RowF + 1
'
    For Col = 1 To ColS
      ColF = Col + (Col > 1)
      ColR = Col - (Col < ColS) - ColF + 1
'
      If Cells(Row, Col) = Cells(Row, Col + ColS + 1) Then
        Cells(RowF, ColF + ColS + 1).Resize(RowR, ColR).Interior.Color = 65535
      End If
    Next Col
  Next Row
'
  For Row = 1 To RowS
'
    For Col = 1 To ColS
'
      If Cells(Row, Col) = Cells(Row, Col + ColS + 1) Then
        Cells(Row, Col + ColS + 1).Interior.Color = 16711935
      End If
    Next Col
  Next Row
End Sub

投稿日時 - 2018-01-04 05:54:00

お礼

ご回答ありがとうございます。
マクロ作って頂きありがとうございます。
早速、試してみます。
ありがとうございました。

投稿日時 - 2018-01-04 08:26:05

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

[No.2補足]へのコメント、
》 お手上げのため…
「一致した数字のセルの色を」付けるのもお手上げですかぁ?
そちらは[条件付き書式]の超初心者向けの練習問題並みだけど、「8方向に塗潰す」のは私もお手上げ状態です。

マクロ音痴の私でも出来る方法があるのなら、達人のお手並みを是非拝見したいものです。

ところで、貴方はどのような場合に「一致した数字のセル」に加えて「8方向に塗潰す」必要があるのですか?単に思い付いただけのゲームみたいなものですか?

投稿日時 - 2018-01-04 00:39:32

ANo.2

[No.1]ですが、チョイと確認。
貴方自身は何処まで出来るの?それとも、全くお手上げですか?

投稿日時 - 2018-01-03 22:04:36

補足

お手上げのため、この場で質問させていただきました。

投稿日時 - 2018-01-03 22:42:37

ANo.1

最終的には添付図のように塗りつぶせ、と?

投稿日時 - 2018-01-03 22:02:37

補足

添付図拝見しました。
1点説明不足があります。
添付図は1色で塗潰されていますが、前回数字】と【今回数字】で一致した数字は、8方向に塗潰す色とは異なる色にしたいです。(一致した数字のセルの色を優先する。)

投稿日時 - 2018-01-03 22:52:41