• ベストアンサー

ExcelのVBAで複数の範囲を指定したいのですが

 ExcelのVBAの全くの初心者です。(PC全般については、多少はわかるつもりですが)  R1C1参照という形式を使って、複数のセル範囲を色付けするため指定するにはどのようにすれば良いのでしょうか?  例えば、アクティブセルにA25が指定されていて、A4~C7とE4~F10とI4~I8までを色付けしたいなどという場合。  色付けなどは、わかるのですが、複数の範囲指定がわからないのです。よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Unionと言うのが例に載っていたので、Cellsでやって見ました。下記ではCellsのカッコ内は、固定数値の例ですが、Cells(i,j)のi,jをコントロールしては。下記は2つの範囲の指定の例で3、4と増やせます。 Sub test01() Union(Range(Cells(1, 2), Cells(3, 4)), Range(Cells(5, 6), Cells(7, 8))).Select End Sub

dogs59
質問者

お礼

 うまくいきました。ありがとうございました。 未だ、完成には程遠いのですが、少しづつでも、勉強しながら進めます。 また困ったらよろしくお願いします。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

マクロの記録を開始し、Ctrlキーを使い、飛び離れた 範囲を指定し、マクロの記録を終了し、マクロ-マクロ名クリック-編集でどう記録されたか見れば良いです。やって見ると Range("A1:B2,C3:D5,A8:B10").Select のようになります。カンマで各範囲を区切っていることが判ります。

dogs59
質問者

お礼

 有難うございます。  ただ、sろえだと、相対参照のときに困るので、R1C1参照での指定が知りたいのです。 Activecell.Range(Cells(1,1),Cells(2,3)),Select のように指定すると、これ自体が範囲として指定されてしまうので。andで繋ぐしかないのでしょうか?

関連するQ&A