wrote :: 2005.12.15

トップページ > Excel > VBA > 講座:セルの操作 > データの入力

データの入力

セルはRangeオブジェクトで表されます。Rangeオブジェクトを特定するには、一般的に次の2つのプロパティを使います。

 ・Rangeプロパティ
 ・Cellsプロパティ

Rangeプロパティは「Range("A2")」とアドレスを指定します。一方のCellsプロパティは「Cells(2,1)」のように行番号と列番号を指定します。指定する順序は「Cells(行番号,列番号)」です。

セルにデータを入力するには、このRangeオブジェクトのValueプロパティにデータを代入します。
次のコードは、セルA2に123という数値を入力します。

Sub Sample1()
    Range("A2").Value = 123
End Sub

また、数値や文字列など単純なデータを入力する場合は、Valueプロパティを省略しても入力できます。
次のコードは、セルA2に「田中」という文字列を入力します。

Sub Sample2()
    Cells(2, 1) = "田中"
End Sub

Rangeオブジェクトはプロパティを省略すると、Valueプロパティが指定されたものと認識します。
データの入力だけでしたら、この「Rangeオブジェクト = データ」という書き方を覚えておけばいいでしょう。
ちなみに、次のようにセル範囲を指定すると、複数のセルに同じデータを同時に入力できます。

Sub Sample3()
    Range("A2:A5") = "田中"
End Sub

■数値を文字として入力する

たとえば、次のコードはセルA2に「0123」という文字列を入力します。

Sub Sample4()
    Range("A2") = "0123"
End Sub

ところが実行すると、セルA2には「123」という数値が入力されてしまいました。これは、手作業でキーボードから操作しても同じ結果になります。Excelは、入力されたデータが数値として認識できるときは、自動的に数値として扱うという特徴があるのです。Sample4のように「0123」という文字列を入力したい場合には、データを入力する前にセルの表示形式を「文字列」に設定しておくか、次のように接頭辞を含めて代入します。

Sub Sample5()
    Range("A2") = "'0123"
End Sub

数値の前の「'」が接頭辞です。接頭辞は、この後に続くデータの形式を示す特殊な記号です。「'」は後のデータが文字列であることを表しています。入力されたデータの先頭に「'」が付くのを嫌う人は、書式の設定を行ってください。セルの書式を設定する方法は「表示形式の設定」をご覧ください。


[目次]戻る← | →進む[データの取得]