• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:8方向の数字間差が指定の間差と同じ場合に塗り潰す2)

8方向の数字間差が指定の間差と一致した場合に塗り潰す方法

このQ&Aのポイント
  • エクセル2016を使用し、A1~G15、I1~O15のセルに重複を許した1~99の数字が入っています。
  • セルA1から右側に8方向に隣り合う数字との差が指定の数値と一致する場合に、セルを黄色で塗り潰す方法を知りたいです。
  • また、塗りつぶしたセルの数字を指定の範囲に左から順番に並べる方法も知りたいです。

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

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

参考に Sub Test2()   Dim i As Long, j As Long, c As Range, c2 As Range   Dim Area1 As Range, Area2 As Range   Application.ScreenUpdating = False   ActiveSheet.Rows(1).Insert   ActiveSheet.Columns(1).Insert   Set Area1 = Range("R5:AK10")   Set Area2 = Range("R12:AK17")   Area1.ClearContents   Area2.ClearContents   With Range("B2:H16,J2:P16")     .Interior.Color = xlNone     For Each c In .Cells       For Each c2 In Intersect(c.Offset(-1, -1).Resize(3, 3), .Cells)         If c.Address <> c2.Address And Abs(c.Value - c2.Value) = Range("S2").Value Then           c2.Interior.Color = vbYellow         End If       Next     Next     For Each c In .Cells       If c.Interior.Color = vbYellow Then         If c.Column < 9 Then           i = i + 1           Area1.Item(i).Value = c.Value         Else           j = j + 1           Area2.Item(j).Value = c.Value         End If       End If     Next   End With   ActiveSheet.Rows(1).Delete   ActiveSheet.Columns(1).Delete   Application.ScreenUpdating = True End Sub

sazanami0422
質問者

お礼

早速のご回答ありがとうございます。 やりたいことができました。 またよろしくお願いいたします。

すると、全ての回答が全文表示されます。

関連するQ&A