HOME > エクセルVBA >セルの操作「Valueプロパティ」「Formulaプロパティ

セルの値の取得、設定

セルの値の取得

 セルの値を取得するにはValueプロパティを使用します。MsgBoxは関数でセルA1の値をダイアログボックスに表示します。

 MsgBox Range("A1").Value

セルの値の取得

単一セルに値を代入

 単一セルに値を代入したい場合の説明です。文字列を代入するときは「”」ダブルクォーテーションで囲む必要があります。

 数字をそのまま入力すると数値扱いになります。数字を文字列で入力したい場合には「”」ダブルクォーテーションで囲む以外にも、数値の前に「'」アポストロフィを入力する必要があります。

 Worksheets("Sheet1").Range("A1").Value = "AAA"
 Worksheets("Sheet1").Cells(1, 1).Value = "AAA"

単一セルに値を代入

 Worksheets("Sheet1").Range("A1").Value = 1
 Worksheets("Sheet1").Cells(1, 1).Value = 1

Valueプロパティ

複数セルに値を代入

 単一セルに値を代入するのも、複数セルに値を代入するのも基本的には同じです。範囲選択方法がかわるのでその点には注意しましょう。先ほどのページで紹介した範囲選択方法を利用できます。

 Worksheets("Sheet1").Range("A1:A4").Value = "AAA"
 Worksheets("Sheet1").Range("A1","A4").Value = "AAA"

複数セルに値を代入

 Worksheets("Sheet1").Range("A1:A4").Value = 1
 Worksheets("Sheet1").Range("A1","A4").Value = 1

Valueプロパティ

セルの数式の取得、設定

 セルのデータには値と数式があります。値を取得、設定するときはValueプロパティを使用しますが、数式を取得、設定するときはFormulaプロパティを使用します。

 Range("A2").Formula ="$B$1+$B$3"

セルの数式の取得、設定

 数式を入力できるので関数を入力することも出来ます。

 Range("E1").Formula ="SUM(A1:A9)"
 Range("E2").Formula ="AVERAGE(A2:D2)"
 Range("E3").Formula ="MAX(A3:D3)"
 Range("E4").Formula ="MIN(A4:D4)"

Formulaプロパティ

Valueプロパティ、Formulaプロパティの使い分け

 セルのデータで値を扱うときはValueプロパティ、数式を扱うときはFormulaプロパティを使うと説明してきました。

 実際にはValueプロパティで数式を、Formulaプロパティで値を扱うことも可能です。

 しかし、混同して使うと間違いをするかもしれないのでセルのデータを扱うときは値はValueプロパティ、数式はFormulaプロパティと、使い分けをきちんとしておきましょう。

A Range("B1").Formula = Range("C1").Formula
B Range("B1").Value = Range("C1").Value

 セルC1に数式が入力されている場合、Aのプログラムを実行するとセルB1には数式が入力されます。しかし、Bのプログラムの場合、セルB1には値が入力されます。見た目は一緒ですが意味が異なりますので気をつけましょう。

セルの操作2  エクセル職人  セルの操作4

▲TOPへ移動