【用語集に記載の内容について】
用語集に記載されているメソッドや関数の引数は、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が代入されます。 |
カテゴリ | ベーシック |