- ベストアンサー
指定回数で2個の検索値で検索して赤で塗潰す方法
- 5列×20行のエクセルシートに重複数字が入っており、指定した回数分コピーしながら2つの検索値で検索し、該当するセルを赤色に塗りつぶす方法を教えてください。
- エクセルシートのA1~E20までのセルに重複数字が入っており、指定した回数分コピーしながら2つの検索値で検索し、見つかれば該当するセルを赤で塗りつぶす方法を教えてください。
- エクセルの特定範囲にあるセルに重複数字が入っており、指定回数分コピーしながら2つの検索値で検索し、該当するセルを赤色で塗りつぶす方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
結果は添付図と少し違いました。15行目。 Sub paintRed() Dim intRange As Range Dim kaisuu As Integer Dim kensakuV As Range Set intRange = Range("A1:H20") kaisuu = Range("K1") Set kensakuV = Range("M1:N" & kaisuu) Range("A22:H" & 21 * kaisuu).Clear Range("A1:E20").Interior.Pattern = xlNone Dim k As Integer Dim r As Long Dim c As Integer Dim rw As Long Dim icchi(2, 2) As Integer Application.ScreenUpdating = False '// コピー intRange.Copy For k = 1 To kaisuu rw = (k - 1) * 21 + 1 With Range("A" & rw) .Select: ActiveSheet.Paste .Offset(0, 6) = Application.Index(kensakuV, k, 1) .Offset(0, 7) = Application.Index(kensakuV, k, 2) End With Next For k = 1 To kaisuu rw = (k - 1) * 21 + 1 With Range("A" & rw) For r = 1 To 20 '// 検索 icchi(1, 1) = -1: icchi(2, 1) = -1 For c = 1 To 5 If .Offset(r - 1, c - 1) = .Offset(0, 6) Then icchi(1, 1) = r - 1: icchi(1, 2) = c - 1 End If If .Offset(r - 1, c - 1) = .Offset(0, 7) Then icchi(2, 1) = r - 1: icchi(2, 2) = c - 1 End If Next '// 色 If icchi(1, 1) >= 0 And icchi(2, 1) >= 0 Then .Offset(icchi(1, 1), icchi(1, 2)).Interior.ColorIndex = 3 .Offset(icchi(2, 1), icchi(2, 2)).Interior.ColorIndex = 3 End If Next End With Next Application.CutCopyMode = False Range("A1").Select Application.ScreenUpdating = True End Sub
お礼
早速の回答頂きありがとうございます。 15行目の”3 30”を塗潰すの忘れてました。 ご指摘ありがとうございました。 またよろしくお願いします。