【用語集に記載の内容について】
用語集に記載されているメソッドや関数の引数は、VBAエキスパート試験の試験範囲に基づいており、すべての引数を網羅しておりません。
また、書式は公式テキストの記載に準じています。
試験範囲外の引数や詳細については、ヘルプ機能やオブジェクトブラウザーをご参照ください。
【コードをコピーして実行する場合の注意】
文字コードの関係上、半角の「¥」は「/」で表示されるため、当サイトでは全角の「¥」で記載しています。当サイトのコードをコピーして実行する場合は、全角の「¥」を半角の「¥」に変換してください。
セルのEndプロパティ
| 名称 | セルのEndプロパティ |
|---|---|
| 説明 | ワークシート上でEndモード([Ctrl]+矢印キーを押す)を実行したときに移動するセルを表します。 |
| 書式 |
セル.End(移動する方向) 移動する方向:方向を表す定数を指定 <指定可能な定数> xlUp:上 xlDown:下 xlToLeft:左 xlToRight:右 |
| コード例① |
【上方向([Ctrl]+[↑]キー)】
Sub Macro1()
Cells(Rows.Count, 1).End(xlUp).Value = 10
End Sub
「Rows.Count」は、シート内の行の集合体であるRowsコレクションの行数をCountプロパティで取得しています。
シートの最終行番号が1048576の場合、
「Cells(Rows.Count, 1).End(xlUp).Value = 10」は、
「Range("A1048576").End(xlUp).Value = 10」となります。
Endプロパティに定数「xlUp」を指定しているので、セルA1048576で[Ctrl]+[↑]キーを押した時の移動先のセルを表します。
マクロを実行すると、セル範囲A1:A5に空白セルがない場合、セルA5に10が代入されます。
セル範囲A1:A5でセルA3が空白セルの場合でも、セルA5に10が代入されます。
|
| コード例② |
【左方向([Ctrl]+[←]キー)】
Sub Macro2()
Cells(1, Columns.Count).End(xlToLeft).Value = 10
End Sub
「Columns.Count」は、シート内の列の集合体であるColumnsコレクションの列数をCountプロパティで取得しています。
シートの最終列がXFDの場合、
「Cells(1, Columns.Count).End(xlToLeft).Value = 10」は、
「Range("XFD1").End(xlToLeft).Value = 10」となります。
Endプロパティに定数「xlToLeft」を指定しているので、セルXFD1で[Ctrl]+[←]キーを押した時の移動先のセルを表します。
マクロを実行すると、セル範囲A1:E1に空白セルがない場合、セルE1に10が代入されます。
セル範囲A1:E1でセルC1が空白セルの場合でも、セルE1に10が代入されます。
|
| コード例③ |
【下方向([Ctrl]+[↓]キー)】
Sub Macro1()
Range("A1").End(xlDown).Value = 10
End Sub
Endプロパティに定数「xlDown」を指定しているので、セルA1で[Ctrl]+[↓]を押した時の移動先のセルを表します。 マクロを実行すると、セル範囲A1:A5に空白セルがない場合、セルA5に10が代入されます。 セル範囲A1:A5でA3が空白セルの場合、セルA2に10が代入されます。 |
| コード例④ |
【右方向([Ctrl]+[→]キー)】
Sub Macro1()
Range("A1").End(xlToRight).Value = 10
End Sub
Endプロパティに定数「xlToRight」を指定しているので、セルA1で[Ctrl]+[→]キーを押した時の移動先のセルを表します。 マクロを実行すると、セル範囲A1:E1に空白セルがない場合、セルE1に10が代入されます。 セル範囲A1:E1でセルC1が空白セルの場合、セルB1に10が代入されます。 |
| カテゴリ | ベーシック |