VBA Range.End (xlDown, xlUp, xlToRight, xlToLeft)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 3月 16, 2022

このチュートリアルでは、VBAでRange.Endプロパティを使用する方法について説明します。

Excelのワークブックやワークシートで手動で行うほとんどのことは、VBAコードで自動化することができます。

Excelで空白でないセルが並んでいる状態でCtrl+下矢印キーを押すと、現在いる列の最後の空白でないセルに移動します。 Ctrl+上矢印キーを押すと、カーソルは最初の空白でないセルに移動します。 同様に、Ctrl+右矢印キー Ctrl+左矢印キーを使用すると、その行の先頭または末尾に移動することができます。 これらのキーの組み合わせはすべて、End関数を使ってVBAコード内で使用することができます。

Range Endプロパティの文法

Range.Endプロパティは、現在作業している領域(アクティブセル領域)内の特定のセルに移動することができます。

expression.End (Direction)

このexpressionは、開始したいセルのアドレス(Range)で、Range(“A1”)のように表します。

Endは、制御対象のRangeオブジェクトのプロパティです。

Directionは、使用できるExcelの定数です。 xlDown、xlToLeft、xlToRightxlUpの4種類から選択可能です。 vba end eigenschaft syntax

最後のセルへの移動

以下のプロシージャは、現在の領域の最後のセルに移動させます。

Sub GoToLast()
'現在の領域で占有されている最後のセルに移動する
   Range("A1").End(xlDown).Select
End Sub

行のカウント

以下の手順では、定数xlDownとRange Endプロパティを使用して、現在の領域に何行あるか数えることができます。

Sub GoToLastRowofRange()
   Dim rw As Integer
   Range("A1").Select
'現在の領域内の最後の行を取得する
   rw = Range("A1").End(xlDown).Row
'何行使用されているかを表示する
   MsgBox "この範囲で使用されている最後の行は " & rw & " です"
End Sub

一方、以下のものは、xlToRight定数を使用して、範囲内の列をカウントします。

Sub GoToLastCellofRange() 
   Dim col As Integer 
   Range("A1").Select 
'現在のリージョン内の最後の列を取得する
   col = Range("A1").End(xlToRight).Column
'何列目が使用されているかを表示する
   MsgBox "この範囲で使用されている最後の列は " & col & " です"
 End Sub

範囲指定配列の作成

以下の手順で、セル範囲の最初のセルから始めて、End(xlDown)プロパティを使って、セル範囲の最後のセルを見つけることができます。 そして、Rangeの合計行数で配列ReDimすることで、セル範囲内をループさせることができます。

Sub PopulateArray()
'配列を宣言する
   Dim strSuppliers() As String
'行を数えるための整数を宣言する
   Dim n As Integer
'行をカウント
   n = Range("B1", Range("B1").End(xlDown)).Rows.Count
'配列の初期化と入力
   ReDim strCustomers(n)
'ループのための整数を宣言する
   Dim i As Integer
'配列に値を入れる
   For i = 0 To n
     strCustomers(i) = Range("B1").Offset(i, 0).Value
   Next i
'配列の値をメッセージボックスに表示する
   MsgBox Join(strCustomers, vbCrLf)
End Sub

このプロシージャを実行すると、次のようなメッセージボックスが返されます。 vba end array

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples