Excel VBAでセルの値を取得・設定する:Value

VBAでExcelのマクロを作成するときに、セルの値を取得したり、セルに値を設定したりする処理は頻繁に行います。ここでは、セルの値を取得・設定する際に利用する Range オブジェクトの Value プロパティについて説明します。

Value プロパティの使い方

Value プロパティの構文は以下の通りです。

セルに値を設定する

たとえば、セル B2 に「おはよう!」と表示してみます。

vba_value1

Range オブジェクトに値を代入することで、セルに値を設定できます。

セルの値を取得する

セルの値を取得する場合は以下のように記述します。

vba_value2

Value の省略

Range オブジェクトでセルに値を設定するときは、 Value を省略することができます

省略はされていますが、コードを読む場合には「Value が省略されている」ということを意識しましょう。

ただし、Value を省略できないケースもあります。それについては後述します。

Range オブジェクト変数に対して Value を使用する

Range オブジェクトそのものを変数に代入したい場合は Set を使います。

Setを忘れると(Valueの省略とみなされて)Range オブジェクトの Valueプロパティの値の代入とみなされてエラーとなるので注意しましょう。

以下は変数に Value を使用した例です。

変数を使った処理を行う場合、 Value プロパティを省略できないケースがあります。それは Variant 型として宣言した(型を省略した場合も同様)変数に Range オブジェクトを代入して使う場合です。

この場合 Value プロパティを省略せずに記述する必要があります。あるいは変数を Range 型で宣言してください。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて

UX MILKのディレクター募集