EXCEL VBA 右隣・左隣のセルの参照・検索結果の両隣のセルを参照する(Nextプロパティ・Previousプロパティ)

 

 

EXCEL VBA 右隣・左隣のセルの参照・検索結果の両隣のセルを参照する(Nextプロパティ・Previousプロパティ)

 

 

 ●はじめに

今回説明するのは、NextプロパティとPreviousプロパティの説明をいたします。指定したセルの前(Previous:左側)・後(Next:右側)にあるセルを参照する事ができます。今回は、セルに対しての説明を行いますが、Sheet(シート)に対してもNEXTプロパティとPreviousプロパティを利用する事で、左右シートを参照する事も出来ます。それでは、サンプルプログラムを交えて順番に説明致します。

●【EXCEL VBA  RangeオブジェクトOFFSETプロパティについては、下記を参照して下さい】

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

 

●【NEXTプロパティ (Excel)、下記を参照して下さい】(Microsoft社 様)】
https://docs.microsoft.com/ja-jp/office/vba/api/excel.range.next

 

 

 

 

 ●書式の説明  

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

・ Rangeオブジェクト.Next   (セルの右側を参照)

・ Rangeオブジェクト.Previous (セルの左側を参照)

【使用例】

 

【サンプルプログラム実行後】
セル「B3」が起点にNextプロパティを使いセルの参照先をB3⇒C3・Previousプロパティを使い参照先をC3⇒A3に移ります。

 

 

 

 

EXCEL VBA 右隣・左隣のセルの参照・検索結果の両隣のセルを参照しメッセージを表示します。(Nextプロパティ・Previousプロパティ)

 

 

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

下記のサンプルプログラムは、検索対象の結果に該当する両隣のセルを参照してメッセージボックスを表示します。

【プログラムの流れ】
① B列の中に該当する検索値が有るか調べます。(検索値:山形県)
② B列の中に該当する検索値が無ければ、プログラムを終了します。
③ B列の中に該当する検索値(山形県)が発見された場合は、その行の左右のセルの値(NEXTプロパティ・Previousプロパティ)で取得します。
④ 取得した内容をメッセージボックスにて表示します。

 

 

 

 

●実行前~実行後 ※プログラム実行後、検索値(山形県)の一致する行の左右のセル情報を取得して、その内容をメッセージボックスに表示しました。
(画面クリックして拡大)

 

 

 

 

EXCEL VBA 一覧データから一致する右側のデータを転記する。(Nextプロパティ)

 

 

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

下記のサンプルプログラムは、一覧データから一致する右側のデータを転記します。G列に都道府県名の一覧があります。この都道府県名を元に、B列の都道府県名を検索して一致したら、一致した都道府県名の右側(Nextプロパティ)でH列(人口)に転記するプログラムです。Offset関数でも同じ事ができますが、一致したデータの左右データの場合は、Nextプロパティ(右側)・Previousプロパティ(左側)を使う事で左右のデータを簡単に参照する事が出来ます。

【プログラムの流れ】
① 
セル(G2~G5)に登録されている都道府県名を順番に参照します。
② G列の都道府県名から、B列の都道府県名の中より該当する都道府県名が有るか検索します。
③ G列の都道府県名がB列の都道府県名に該当する都道府県名が無いか判定します。
④ B列の都道府県名に一致する都道府県名が無い場合は、H列(人口)に空白を登録します。
⑤ B列の都道府県名に一致する都道府県名がある場合は、H列(人口)にC列(人口)を転記します。

 

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、G列の都道府県名を順番にB列の都道府県名を検索して、都道府県名が一致した都道府県名の人口(右側)をH列(人口)へ転記されました。
(画面クリックして拡大)

 

 

 

 

EXCEL VBA 一覧データから一致する右側のデータを転記する。(Next/Previousプロパティ)

 

 

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

下記のサンプルプログラムは、一覧データから一致する左右のデータを転記します。G列に氏名の一覧データがあります。この氏名を元に、B列の氏名を検索して一致したら、一致した氏名の右側(Nextプロパティ)でH列(年齢)を転記して、氏名の左側(Previousプロパティ)でF列(社員番号)を転記するプログラムです。

【プログラムの流れ】
① 
セル(G2~G12)に登録されている氏名を順番に参照します。(繰り返す)
② G列の氏名から、B列の氏名の中より該当する氏名が有るか検索します。
③ G列の氏名がB列の氏名に該当する氏名が無いか判定します。
④ B列の氏名に一致する氏名が無い場合は、F列(社員番号)とH列(年齢)が空白に転記します。
⑤ B列の氏名に一致する氏名がある場合は、F列(社員番号)とH列(年齢)が転記されます。

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、G列の氏名一覧を元にB列の氏名に一致した場合に、A列⇒F列には社員番号・C列⇒H列には年齢が転記されました。なお、該当する氏名が無ければ、空白が表示されます。
(画面クリックして拡大)

 

 

 

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