VBA セルの値の取得、設定、変更

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 4月 25, 2022

このチュートリアルでは、VBAを使用してセルの値を操作する方法について説明します。

セルの値を設定する

セルの値を設定するには、RangeまたはCellsオブジェクトのValueプロパティを使用します。

Range.ValueとCells.Value

VBAでセル(複数可)を参照する方法は2つあります。

  • Rangeオブジェクト – Range(“A2”).Value
  • Cellsオブジェクト – Cells(2,1).Value

Range オブジェクトでは、標準的な “A1” 表記でセルを参照することができます。 これは、範囲A2の値= 1を設定します。

Range("A2").Value = 1

Cellsオブジェクトは、行番号と列番号でセルを参照することができます。 これは、範囲A2の値 = 1を設定します。

Cells(2,1).Value = 1

行番号を最初に入力することに注意してください。

Cells(Row_num, Col_num)

複数のセルの値を一度に設定する

1つのセルを参照する代わりに、複数のセルの範囲を参照して、すべてのセルの値を一度に変更することができます。

Range("A2:A5").Value = 1

セルの値 – テキストを設定する

上記の例では、セルの値を、数値の1に設定しています。 代わりに、セルの値をテキストの文字列に設定することができます。 VBAでは、すべてのテキストを引用符で囲む必要があります。

Range("A2").Value = "テキスト"

テキストを引用符で囲まない場合、VBAは変数を参照しているとして処理します。

セルの値 – 変数を設定する

セルの値に変数を設定することもできます。

Dim strText as String
strText = "テキスト文字列"

Range("A2").Value = strText

セルの値を取得する

セルの値を取得するには、上記と同じValueプロパティを使用します。

アクティブセルの値を取得する

アクティブセルの値を取得し、メッセージボックスに表示します。

MsgBox ActiveCell.Value

セルの値を変数に代入する

セルの値を取得し、変数に代入します。

Dim var as Variant

var = Range("A1").Value

ここでは、Variant型の変数を使用しています。Variant型変数は、どんな型の値でも受け入れることができます。 代わりに、文字列型変数を使うこともできます。

Dim var as String

var = Range("A1").Value

文字列型変数は数値を受け取ることもできますが、その際、数値はテキストとして保存されます。 セルの値が数値であることが分かっている場合は、Double型(倍精度浮動小数点型)変数を使用することができます。(Double変数は小数値を格納することができます。

Dim var as Double

var = Range("A1").Value

しかし、テキストを含むセル値をDouble変数に格納しようとすると、型の不一致エラーが発生します。

get cell value assign variable セル 変数

その他のセル値の例

セルの値をコピーする

セルの値を他のセルの値に代入する(または、セルの値を「コピー」する)のは簡単です。

Range("A1").Value = Range("B1").Value

セルの範囲を指定することもできます(範囲は同じ大きさである必要があります)。

Range("A1:A5").Value = Range("B1:B5").Value

セルの値を比較する

標準的な比較演算子を使って、セルの値を比較することができます。 早速セルの値が等しいかどうかをテストしてみましょう。

MsgBox Range("A1").Value = Range("B1").Value

セルの値が等しい場合、TRUEが返され、そうでない場合は FALSE を返します。 また、Ifステートメントを作成して、セルの値を比較することもできます。

If Range("A1").Value > Range("B1").Value Then

  Range("C1").Value = "よりも大きい"

Elseif Range("A1").Value = Range("B1").Value Then

  Range("C1").Value = "と等しい"

Else

  Range("C1").Value = "よりも小さい"

End If

同じ方法で、テキストを比較することができます(VBAは大文字と小文字を区別することを忘れないでください)。

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