EXCEL VBA RangeオブジェクトResizeプロパティ(行数・列数のサイズ移動・セル範囲のサイズ変更)

 

 

EXCEL VBA RangeオブジェクトResizeプロパティ(行数・列数のサイズ移動・セル範囲のサイズ変更)

 

 

 ●はじめに

今回説明するのは、セルの参照範囲を変更する事ができるResizeプロパティの利用方法を説明いたします。このResizeプロパティは、引数に指定した行数・列数を指定することで、参照範囲を変更する事が出来ます。Offsetプロパティと組み合わせることで、表全体から見出し行を除いた参照範囲を指定する事が出来ます。

●【Offsetプロパティに関する内容は、下記の参照して下さい】

EXCEL VBA RangeオブジェクトOFFSETプロパティ(基準セルからの行・列移動・相対参照・セル範囲を移動する)

 

 

 ●書式の説明

● Resizeプロパティを利用するには、下記の通りに設定を行います。

※基準セルの位置を元に、行方向の桁数と列方向の列数を指定します。

引数必須・省略可能内容(説明)
RowSize省略可能変更後の行数を指定します。省略した場合は、行数は変わりません。
ColumnSize省略可能変更後の列数を指定します。省略した場合は、列数は変わりません。

 

 

【使用例①】:セル[A1]を起点に縦2×横2を選択

【実行後】
※A1⇒A1:B2のセルが範囲選択されました。(背景色は範囲選択のイメージです。)

 

【使用例②】:セル[A1]を起点にOffset(1,0)でA2へ、A2を起点に縦5×横5を選択

【実行後】
※A1⇒A2⇒A2:E5のセルが範囲選択されました。(背景色は範囲選択のイメージです。)

 

【使用例③】:セル[A1]を起点にOffset(0,1)でB1へB1を起点に縦10×横3を選択

【実行後】
※A1⇒B1⇒B1:D10のセルが範囲選択されました。(背景色は範囲選択のイメージです。)

 

【使用例④】:セル[A1:D4]を起点に、セル[A1:D2]が選択(1~2行分が選択)

【実行後】
※セル「A1:D4」⇒「A1:D2」のセルが範囲選択されました。(背景色は範囲選択のイメージです。)

 

【使用例⑤】:セル[A1:D4]を起点に、1列目[A1:A4]が選択(1列が選択)

【実行後】
※セル「A1:D4」⇒「A1:A4」のセルが範囲選択されました。(背景色は範囲選択のイメージです。)

 

 

 

EXCEL VBA Resizeプロパティ 見出し行を除いてデータのセル範囲を別シートにコピーする。

 

 

 ●プログラム説明 (サンプル①)

下記のサンプルプログラムは、Resizeプロパティを利用して表のサイズを自動に取得して、見出し行を除いたデータ部分のみのセル範囲を別シートに複写(コピー)するサンプルプログラムです。

【プログラムの流れ】
① ワークシート「社員情報」・「複写データ」を設定
② 転記先のワークシート「複写データ」のデータをクリアーします。
③ ワークシート「社員情報」の表全体を参照します。
④ 1行目の見出し行を除いて、表の最終行までコピーする。
⑤ ワークシート「複写データ」に見出し行を除いて全てのデータを貼り付けます。

【プログラム実行条件】
① ワークシート「社員情報」・・・・社員データを登録します。
② ワークシート「複写データ」・・・ワークシートのみ作成します(空白)

 

 

 

 

●実行前~実行後 ※プログラム実行後、ワークシート「社員データ」より、表範囲を取得し見出し行を除いて、別ワークシート「複写データ」にセルデータを複写(貼り付け)されました。
(画面クリックして拡大)

 

 

 

 

EXCEL VBA Resizeプロパティ 検索値を入力して該当するデータに対して範囲を広げて、別シートに複写(コピー)します。

 

 

 ●プログラム説明 (サンプル②)

下記のサンプルプログラムは、検索値を入力して該当するデータに対してResizeプロパティを使いセルの範囲を広げて、別のワークシートに複写するサンプルプログラムです。
【詳細説明】
社員情報に社員番号を含めたデータ一覧が作成されています。この社員番号を数値で入力して、該当する社員番号があれば、別シート「複写データ」に転記します。

【プログラムの流れ】
① ワークシート「社員情報」・「複写データ」を設定
② ワークシート「社員情報」の最終行を取得します。
③ ワークシート「複写データ」の最終行を取得します。
④ 複写する社員番号を入力します。
⑤ 入力した社員番号に該当データが有れば別シート「複写データ」に該当データを転記します。
⑥ 該当したデータが無ければ、「有りません」のメッセージを表示します。
⑦ 社員番号「9999」を入力されるまで繰り返します。③へ

【プログラム実行条件】
① ワークシート「社員情報」・・・・社員データを登録します。
② ワークシート「複写データ」・・・転記先の表をを作成します。
③ ワークシート「社員情報」・・・A列の「社員番号」は、数値のみで登録します。

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、転記する社員番号を入力するインプットボックスが表示されるので、社員番号を数値で入力します。別シート「複写データ」には、繰り返し転記する事ができますので、連続に社員番号を入力します。社員番号9999を入力してプログラムを終了しました。
(画面クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。