• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:値が入るセル全体を下にコピーした後に検索する方法)

値が入るセル全体を下にコピーして検索する方法

このQ&Aのポイント
  • エクセルの特定のセル範囲をコピーし、指定した値で検索する方法について解説します。
  • 指定した複写数と検索値に基づいて、セル範囲をコピーし、一致した値を塗潰す方法を紹介します。
  • セル範囲のマスとしての集合を考え、それぞれのマスに一致した数字の数に応じて色をつける方法を説明します。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

Sub Test()   Dim keyWord As String   Dim i As Long, n As Long   Dim Target As Range   n = Range("P2").Value '複写数   Range("A11:N428").Clear   For i = 1 To n     keyWord = Cells(1, 15 + i).Value '検索値     Cells(i * 11, 1).Value = keyWord     Set Target = Cells(i * 11 + 1, 1).Resize(10, 14)     Range("A1:N10").Copy Target     Target.Interior.Color = xlNone     Call Fillwork(keyWord, Target)   Next End Sub Function Fillwork(k As String, Target As Range)   Dim fnd As Range, R As Boolean, c As Boolean   Dim adr As String   Set fnd = Target.Find(What:=k, LookIn:=xlValues, _     LookAt:=xlWhole, SearchOrder:=xlByRows, MatchByte:=True)   If fnd Is Nothing Then     MsgBox k & " は見つかりませんでした。", 48     Exit Function   End If   adr = fnd.Address   Do     If Target.Item(1).Row Mod 2 <> 0 Then       R = fnd.Row Mod 2 = 0     Else       R = fnd.Row Mod 2 <> 0     End If     c = fnd.Column Mod 2 = 0     With fnd.Offset(R, c).Resize(2, 2).Interior       If .Color = vbYellow Then         .Color = vbRed       ElseIf .Color = vbRed Then         .Color = vbGreen       ElseIf .Color = vbGreen Then         .Color = vbBlue       ElseIf .Color = vbWhite Then         .Color = vbYellow       End If     End With     Set fnd = Target.FindNext(fnd)   Loop While adr <> fnd.Address End Function

moguo4649
質問者

お礼

いつも回答頂きありがとうございます。 前回迄のやつは、1個ずつハードコピーを取らないといけなく 手間があったので質問しました。 これ1回動かせば結果が全てわかります。 ありがとうございました。

関連するQ&A