• ベストアンサー

VBAでのセルの範囲選択について

添付画像のような表が複数あり、1行の間隔で赤色セルの範囲を選択したいです。 行数や表が増えた場合を考慮した記述にしたいと思っております。 よい方法があれば教えていただければ幸いです。 お手数お掛けいたしますが、よろしくお願い致します。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 昨日の >http://okwave.jp/qa/q8536162.html の応用で大丈夫だと思います。 色で判断するのではなく、画像通り規則正しい場合は Sub Sample1() Dim i As Long, myRange As Range Set myRange = Range("C4").Resize(, 5) For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Step 9 '←B列で最終行取得 Set myRange = Union(myRange, Cells(i, "C").Resize(, 5), Cells(i + 2, "C").Resize(, 5)) Next i myRange.Select End Sub ※ B列で最終行を取得しています。 こんなんではどうでしょうか?m(_ _)m

HNK1001
質問者

補足

こんにちは。ご回答くださりありがとうございます。 表の行数が10行増えた場合は、「Step 9」の箇所を「Step 19」に変更すればよろしいでしょうか?

その他の回答 (1)

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

>赤色セルの範囲を選択したいです。 参考に Sub Test()   Dim myRng As Range, c As Range   For Each c In ActiveSheet.UsedRange     If c.Interior.Color = vbRed Then       If myRng Is Nothing Then         Set myRng = c       Else         Set myRng = Union(myRng, c)       End If     End If   Next   myRng.Select End Sub

HNK1001
質問者

お礼

ご回答いただき ありがとうございました。 色を指定してカウントする方法もあるのですね!

関連するQ&A