注意点は、Rangeの中でCellsを使うとき
Range(Cells(2, 3))
とできない。セル(2, 3)だけ指定したくても
Range(Cells(2, 3), Cells(2, 3))
こうしないとエラーになる。
また、1行だけ、1列だけの選択をRangeでしたいときも
Range("A")
Range("1")
はエラーになるので
Range("A:A")
Range("1:1")
とする。
範囲指定のサンプルコード:
|
Sub macro100228a() '選択範囲指定いろいろ 'F8キーで一行ずつ実行できます。
'単一セルを選択 Cells(1, 1).Select Range("A2").Select Range(Cells(3, 1), Cells(3, 1)).Select '複数のセルを選択 Range("A1:C3").Select Range(Cells(1, 1), Cells(5, 5)).Select '離れたセルを選択 Range("A1:A3,C1:C3").Select Range("A1:A3,C1:C3,E1:E3").Select '1行を選択 Rows(1).Select Range("1:1").Select '複数行を選択 Rows("1:3").Select Range("1:6").Select
'離れた行を選択 Range("1:1,3:3").Select Range("1:6,8:13").Select '1列を選択 Columns("A").Select Range("C:C").Select '複数列を選択 Columns("A:C").Select Range("A:E").Select '離れた列を選択 Range("A:A, C:C").Select Range("A:B, D:E").Select End Sub
|
今度は、R1C1形式で範囲を指定します。
実行前に
記事「R1C1形 式をA1形式に変換する」の中の
toA1ファンクションプロシージャを
標準モジュールにコピペしてください。
R1C1形式の範囲指定のサンプルコード:
|
Sub macro100228b() '選択範囲指定いろいろ、R1C1形式で選択 'まず、toA1ファンクションプロシージャを '標準モジュールにコピペしてください。 'https://yumem.cocolog-nifty.com/blog/2009/12/r1c1a1-17ac.html '一番最初だけF8キーを押す。 '次からは、Shift + F8のステップオーバーで実行
'単一セルを選択 Range(toA1("R1C1")).Select
'複数のセルを選択 Range(toA1("R1C1:R3C3")).Select '離れたセルを選択 Range(toA1("R1C1:R3C1, R1C3:R3C3")).Select '1行を選択 Rows(toA1("R1")).Select Range(toA1("R3")).Select '複数行を選択 Rows(toA1("R1:R3")).Select Range(toA1("R1:R6")).Select '離れた行を選択 Range(toA1("R1,R3")).Select Range(toA1("R2,R4")).Select '1列を選択 Columns(toA1("C1")).Select Range(toA1("C3")).Select '複数列を選択 Columns(toA1("C1:C3")).Select Range(toA1("C3:C5")).Select '離れた列を選択 Range(toA1("C1,C3")).Select Range(toA1("C1:C2,C4:C5")).Select End Sub
|
コメント