指定されたセルから移動したセルを参照する。セルのサイズを変更する。

指定したセルから「1行下のセル」とか「3列右のセル」など、基準のセルや範囲から離れたセルや範囲(オフセットといいます)を参照するときは、 Offsetプロパティを使用します。


構文

構文(以下Helpより)

式.Offset(RowOffset, ColumnOffset)
式 Range オブジェクトを表す変数。


パラメーター

名前必須/オプションデータ型説明
RowOffsetオプションバリアント型 (Variant)オフセットする範囲の行数 (正、負、または 0) を指定します。正の値は下方向、負の値は上方向のオフセットを表します。既定値は 0 です。
ColumnOffsetオプションバリアント型 (Variant)オフセットする範囲の列数 (正、負、または 0) を指定します。正の値は右方向、負の値は左方向のオフセットを表します。既定値は 0 です。


例1
セルB2は緑、B2を基準に下1行は赤、下2行・右2列は青に設定。


With Range("B2")
	.Interior.ColorIndex = 4
  	.Offset(1, 0).Interior.ColorIndex = 3
	.Offset(2, 2).Interior.ColorIndex = 8
End With

結果
結果の図


例2(Helpの例より)
タイトル行を持つ表において、タイトル行以外の表の部分を選択します。ActiveCellを使用しているので、表の任意のセルをクリックしてアクティブにしてから実行しています。


Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1,tbl.Columns.Count).Select

結果
結果の図


Resizeプロパティ

上で使用してResizeプロパテについてです。

(以下Helpより)

指定された範囲のサイズを変更します。サイズが変更されたセル範囲 (Range オブジェクト) を返します。

構文

式.Resize(RowSize, ColumnSize)
式 Range オブジェクトを返すオブジェクト式を指定します。


パラメーター

名前必須/オプションデータ型説明
RowSizeオプションバリアント型 (Variant)新しい範囲の行数を指定します。この引数を省略すると、新しい行数は変更する前と同じ行数になります。
ColumnSizeオプションバリアント型 (Variant)新しい範囲の列数を指定します。この引数を省略すると、新しい列数は変更する前と同じ列数になります。


例(Helpの例より)
選択された部分のサイズを 1 行と 1 列分大きくします。
表全体を選択してから実行しています。


numRows = Selection.Rows.Count
numColumns = Selection.Columns.Count
Selection.Resize(numRows + 1, numColumns + 1).Select

結果
結果の図


Excel VBAのチップス一覧へ戻る

ツイート
このエントリーをはてなブックマークに追加
inserted by FC2 system