Excel VBA 左隣りを参照する Previous 右隣りを参照するNext プロパティ

スポンサーリンク
スポンサーリンク

Previous【プリビアス】プロパティ

指定したシートまたは、セルの
左隣りのシートまたは、セルを参照するには
Worksheetオブジェクトまたは、Rangeオブジェクトの
Previous【プリビアス】プロパティを使用します。
Previous【プリビアス】は「前」という意味があります。

Previous【プリビアス】プロパティの書式

オブジェクト.Previous


設定値の説明

  • オブジェクト(必須)
    移動の基準となるシートまたはセルを
    Worksheetオブジェクトまたは、Rangeオブジェクトで指定します。

    シートを指定した場合は指定したシートの左隣りのシートが参照されます。
    セルを指定した場合は指定したセルの左隣りのセルが参照されます。

※ Previous【プリビアス】プロパティは参照するだけなので
選択する場合は、Select【セレクト】メソッドや
Activate【アクティベイト】 メソッドなどを使用して選択します。

※ 基準がセルの場合、セル範囲を指定しても
セル範囲の左上隅のセルの左隣りの単一セルのみ参照されます。

※ 左隣りが参照できない状態、例えば、左隣りにシートが無い場合や
A列のセルを基準にした場合はNothing【ナッシング】が返り、エラーになります。

左隣りにシートがあるかわからない場合の判定をするコード例

Sub プリビアス()
If Worksheets("sheet1").Previous Is Nothing Then
MsgBox "左側にシートはありません。"
Else
Worksheets("sheet1").Previous.Select
End If
End Sub

コードの解説

2行目
【If Worksheets(“sheet1”).Previous Is Nothing Then】

Ifステートメントで条件分岐をします。
sheet1に対してPrevious【プリビアス】プロパティを実行し
Sheet1の左隣りにシートが無い場合はNothingが返るので
オブジェクト比較演算子のIs【イズ】はTrueを返します。
つまりSheet1の左側にシートがなかったときを定義しています。


3行目
【MsgBox “左側にシートはありません。”】

2行目の条件が成立した場合
つまり、sheet1の左隣りにシートが無い場合の処理です。
MsgBox関数を使用してシートが無いことを伝え
7行目のEnd Subまで処理がジャンプし、Subプロシージャーを終了して
Previus【プリビアス】プロパティがNoting【ナッシング】を返した場合
つまりsheet1の左隣りにシートが無い場合のエラーを防ぎます。


4~5行目
【Else
Worksheets(“sheet1”).Previous.Select】

Else【エルズ】キーワードを使用して以下に
2行目の条件式が成立しなかった場合
つまり、sheet1の左隣りにシートがある場合の処理を記述します。
Previus【プリビアス】プロパティで左隣りのシートを参照して
Select【セレクト】メソッドで選択します。


Next【ネクスト】プロパティ

指定したシートまたは、セルの
右隣りのシートまたは、セルを参照するには
Worksheetオブジェクトまたは、Rangeオブジェクトの
Next【ネクスト】プロパティを使用します。
Next【ネクスト】は「次」という意味があります。

Next【ネクスト】プロパティの書式

オブジェクト.Next


設定値の説明

  • オブジェクト(必須)
    移動の基準となるシートまたはセルを
    Worksheetオブジェクトまたは、Rangeオブジェクトで指定します。

    シートを指定した場合は指定したシートの右隣りのシートが参照されます。
    セルを指定した場合は指定したセルの右隣りのセルが参照されます。

※ Next【ネクスト】プロパティは参照するだけなので
選択する場合は、Select【セレクト】メソッドや
Activate【アクティベイト】 メソッドなどを使用して選択します。

※ 基準がセルの場合、セル範囲を指定しても
セル範囲の左上隅のセルの右隣りの単一セルのみ参照されます。

※ 右隣りが参照できない状態、例えば、右隣りにシートが無い場合や
最終列のセルを基準にした場合はNothing【ナッシング】が返りエラーになります。


右隣りにシートがあるかわからない場合の判定をするコード例

Sub ネクスト()
If Worksheets("sheet1").Next Is Nothing Then
MsgBox "右側にシートはありません。"
Else
Worksheets("sheet1").Next.Select
End If
End Sub

その他のコード例「データの2つの項目列を入れ替える方法」もご覧ください。
以上で
PreviousプロパティとNext プロパティについての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク