• ベストアンサー

塗りつぶしたセルの対称となるセルの数字を抜き出す

いつもお世話になっております。 よろしければ回答をお願いいたします。 【質問】 添付図の様にA1~E20までに1~31迄の数字が重複有りで入っています。 それを、G2~L2の数字で検索します。 検索できたらそのセルを赤く塗り潰します。 赤く塗りつぶしたセルがC列以外の場合、 対称(A列の対称はE列、B列の対称はD列)となる数字を G5から下に並べる方法が知りたいです。 【注意事項】 ・使用するエクセルは2016です。 ・G2~L2に入る数字は1~31迄で重複無しです。 以上、よろしくお願いいたします。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

サンプル画像では、 B4セルが赤にも関わらず、 D4セルの値をリストアップしていないようです。 こんなコードでいかがでしょうか Sub Sample()  Dim RngKey As Range  Dim RngAll As Range  Dim RngHit As Range  Dim PutLine As Long  Dim RowNum As Long  Dim ColNum As Long  Dim KeyCol As Long    Set RngKey = Range("G2:L2")  Set RngAll = Range("A1:E20")  Set RngHit = Range("G5:G84")    PutLine = 0    For RowNum = 1 To RngAll.Rows.Count   For ColNum = 1 To RngAll.Columns.Count    RngAll.Cells(RowNum, ColNum).Interior.Pattern = xlNone    For KeyCol = 1 To RngKey.Columns.Count     If RngAll.Cells(RowNum, ColNum).Value = _       RngKey.Cells(1, KeyCol).Value Then      RngAll.Cells(RowNum, ColNum).Interior.Color = rgbRed      If ColNum <> 3 Then       PutLine = PutLine + 1       RngHit.Cells(PutLine, 1).Value = _        RngAll.Cells(RowNum, 6 - ColNum).Value      End If     End If    Next KeyCol   Next ColNum  Next RowNum End Sub

sazanami0422
質問者

お礼

早速のご回答ありがとうございます。 1つ漏れてた部分はチェックミスです。 早速やってみたところ、D4が出てきました。

関連するQ&A