Get Cell Value in Excel VBA (Step by Step Examples)

Get Cell Value with Excel VBA

A cell is an individual cell and is also a part of a range, technically there are two methods to interact with a cell in VBA and they are the range method and the cell method, the range method is used like range(“A2”).Value which will give us the value of the A2 cell or we can use the cell method as cells(2,1).value which will also give us the value of A2 cells.

Be it excel working or VBA working we all need work with cell or cells because all the data will be stored in cells so it all boils down to how well we know about cells in VBA. So, if cells are such a crucial part of the VBA then it is important to understand them well and if you are a starter with regards to VBA cells then this article will guide you on how to get Cell Values in Excel VBA in detail.

First thing first we can reference or work with cells in VBA in two ways i.e. by using CELLS property and RANGE object. Why CELLS is a property and why RANGE is an object is a different analogy and later in the article, we will get to that point.

Examples of Get Cell Value in Excel VBA

Below are the examples of Get Cell Value in Excel VBA.

You can download this VBA Get Cell Value Excel Template here – VBA Get Cell Value Excel Template

例1-RANGEまたはCELLSプロパティの使用

たとえば、セルA1には、「インド」という値があります。

このセルを参照するには、CELLSプロパティまたはRANGEオブジェクトを使用できます。両方について詳しく見ていきましょう。

Rangeプロパティの使用

まず、マクロプロシージャを開始します。

コード:

 Sub Get_Cell_Value()End Sub 

次に、RANGEオブジェクトを開きます。

コード:

 Sub Get_Cell_Value()Range(End Sub 

このオブジェクトの最初の引数は「Cell1」、つまり参照しているセルです。この場合、セルA1であるため、RANGEオブジェクトのセルアドレスを二重引用符で囲む必要があります。

コード:

 Sub Get_Cell_Value()Range( "A1")End Sub 

他のパラメータを参照しているセルは1つだけなので、関係ありません。角かっこを閉じてドットを入力すると、インテリセンスリストが表示されます。

上記のように、ドットを配置した瞬間に、範囲オブジェクトのプロパティとメソッドの利用可能なすべてのインテリセンスリストを確認できます。

セルを選択しているので、インテリセンスリストから「SELECT」メソッドを選択する必要があります。

コード:

 Sub Get_Cell_Value()Range( "A1")。EndSubを選択します 

次に、A1以外のセルを選択して、コードを実行します。

コードを実行した瞬間にどのセルを選択したかは関係ありません。指定されたセル、つまりA1セルが選択されています。

Cellsプロパティの使用

同様に、現在CELLSプロパティを使用しています。

コード:

 Sub Get_Cell_Value()Range( "A1")。Select Cells(End Sub 

これは、セルアドレスを直接指定できるRANGEオブジェクトとは異なりますが、このCELLSプロパティを使用してそのようにすることはできません。

このプロパティの最初の引数は「行インデックス」、つまり参照している行です。セルA1を選択しているので、最初の行を参照しているので、1に言及します。

次の引数は「列インデックス」、つまりどの列を参照しているかです。A1セル列が最初の列なので、1を入力します。

コードはCELLS(1、1)、つまり最初の行の最初の列= A1を読み取ります。

次に、ドットを付けて、インテリセンスリストが表示されるかどうかを確認します。

CELLSプロパティでは、IntelliSenseリストを表示できないため、何を書き込んでいるかを完全に確認する必要があります。メソッドとして「選択」を入力します。

コード:

 Sub Get_Cell_Value()Range( "A1")。Select Cells(1、1).Select End Sub 

これにより、セルA1も選択されます。

例2– ExcelVBAのセルから値を取得する

選択は私たちが最初に学んだことです。次に、セルから値を取得する方法を見ていきます。セルを選択する前に、セルからの値を格納する変数を定義する必要があります。

コード:

 Sub Get_Cell_Value1()Dim CellValue As String End Sub 

次に、RANGEオブジェクトまたはCELLSプロパティを使用して、セルアドレスについて言及します。初心者なので、RANGEオブジェクトを使用するのは、RANGEオブジェクトを使用するとインテリセンスリストが表示されるためです。

定義された変数には、等号を付け、セルアドレスを記述します。

コード:

 Sub Get_Cell_Value1()Dim CellValue As String CellValue = Range( "A1")End Sub 

もう一度ドットを入れて、インテリセンスリストを表示します。

vbaインテリセンスリストから「Value」プロパティを選択して、指定されたセルから値を取得します。

コード:

 Sub Get_Cell_Value1()Dim CellValue As String CellValue = Range( "A1")。Value End Sub 

これで、変数「CellValue」はセルA1からの値を保持します。この変数値をVBAのメッセージボックスに表示します。

コード:

 Sub Get_Cell_Value1()Dim CellValue As String CellValue = Range( "A1")。Value MsgBox CellValue End Sub 

わかりました。コードを実行して、メッセージボックスに結果を表示します。

セルA1に「INDIA」の値があるため、メッセージボックスにも同じことが表示されます。このように、セルのVBA値によって、セルの値を取得できます。

例3–あるセルから別のセルに値を取得する

vbaを使用してセルから値を取得する方法はわかっていますが、問題はセルに値を挿入する方法です。同じ例だけを取り上げましょう。セルA1の場合、「INDIA」の値を挿入する必要があります。これは、以下のコードから実行できます。

コード:

 Sub Get_Cell_Value2()Range( "A1")。Value = "INDIA" End Sub 

これにより、「INDIA」の値がセルA1に挿入されます。同様に、あるセルから別のセルに値を取得するには、次のようにコードを記述できます。

コード:

 Sub Get_Cell_Value2()Range( "A5")。Value = Range( "A1")。Value End Sub 

コードを説明させてください。

「セルA5には、セルA1の値からの値が必要です」とこのコードはすべて述べています。したがって、これはVBAコードを使用してセルA1からA5までの値を取得します。

覚えておくべきこと

  • セルに値を挿入し、セルから値を取得するには、VBAの「VALUE」プロパティを使用する必要があります。
  • CELLSプロパティを使用すると、1つのセルしか選択できませんが、RANGEオブジェクトを使用すると、複数のセルを選択できます。