• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:行の連続数字を見つけて塗潰す方法)

行の連続数字を見つけて塗潰す方法

このQ&Aのポイント
  • 行の連続数字を見つけてセルを塗潰す方法について教えてください。
  • 5×5のセル内に含まれる行の連続数字を見つけ、それに応じた色でセルを塗潰したいです。
  • セル内の数字を分析し、行の連続数字を見つけて塗潰す方法が知りたいです。

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

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

Sub Test()   Dim c As Range   Range("A1:K11").Interior.Color = xlNone   For Each c In Range("A1:K11")     If c.Column = 6 Then     ElseIf Val(c.Value) + 1 = Val(c.Offset(, 1).Value) Then       If c.Interior.Color = vbWhite Then         c.Resize(, 2).Interior.Color = vbYellow       ElseIf c.Interior.Color = vbYellow Then         c.Offset(, -1).Resize(, 3).Interior.Color = vbRed       ElseIf c.Interior.Color = vbRed Then         c.Offset(, -2).Resize(, 4).Interior.Color = vbBlue       ElseIf c.Interior.Color = vbBlue Then         c.Offset(, -3).Resize(, 5).Interior.Color = vbGreen       End If     End If   Next End Sub

moguo4649
質問者

お礼

いつも回答頂きありがとうございます。 早速実行したところ、F列、6行目をちゃんと空白と捉えて処理されました。 またよろしくお願いします。

その他の回答 (1)

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.1

' Option Explicit ' Sub Macro1() '   Dim Colors As Variant   Dim Cell As Range   Dim BeforeCell As Range   Dim StartCell As Range   Dim Count As Integer '   [A1:K11].Interior.Pattern = xlNone   Colors = Array(vbWhite, vbYellow, vbRed, vbBlue, vbGreen) '   Set BeforeCell = [A1] '   For Each Cell In [A1:L11] '     If BeforeCell > "" And Val(Cell) = Val(BeforeCell) + 1 Then       Count = Count + 1     ElseIf Count > 0 Then       Range(StartCell, BeforeCell).Interior.Color = Colors(Count)       Count = 0       Set StartCell = Cell     Else       Set StartCell = Cell     End If     Set BeforeCell = Cell   Next Cell End Sub

moguo4649
質問者

補足

早速のご回答ありがとうございます。 ソースを貼って実行したところ、 G2,H2の連続数字01,02は黄色の塗潰しになる筈ですが、 空白であるF2も含めて、赤で塗潰しされます。 F列と6行目は4つの5×5のセルがくっつかないために間を取っています。

関連するQ&A