『Excel VBA 表計算とプログラミング学習サイト』では、アフィリエイトプログラムを利用して商品を紹介しています。

【VBA】Valueプロパティ

本日の記事では、VBA の Range プロパティを使ってセルの値を取得したり、またその逆にセルに値を入力するする方法について学びます。

【VBA】Value プロパティ

ワークシートのセルB2 に「こばとちゃんは今日も元気です!」という文字列が入力されているとします。このデータを取得してメッセージボックスに表示するコードを書いてみましょう。

'[VBA] セルB2の値を表示するプロシージャ(1)
Sub GetValueRange_1()
  MsgBox Range("B2").Value
End Sub

'GetValueRange_1の実行結果:
'こばとちゃんは今日も元気です!

GetValueRange_1() を実行すると「こばとちゃんは今日も元気です!」というメッセージが表示されます。
 
Value は Range オブジェクトの値を取得するプロパティなんだけど、これは省略してもかまいません。でも、作法としては書いておいたほうがいいかもしれませんね。ちなみに Range の代わりに Cells を使って次のように記述しても同じです。

'[VBA] セルB2の値を表示するプロシージャ(2)
Sub GetValueRange_1()
  MsgBox Cells(2, 2).Value
End Sub

ちなみに、Range はセル範囲を扱えますが、Cells は単体セルのみです。
 
今度はセルB2 に「こばとは九姉妹の末っ子です」というデータを入力してみます。

'[VBA] セルB2に値を入力するプロシージャ
Sub OutValueRange()
  '文字列型変数 mystr を宣言
  Dim mystr As String
  mystr = "こばとは九姉妹の末っ子です"
  Range("B2").Value = mystr
End Sub

OutValueRange() を実行するとセルB2 にデータが書き込まれます。
 
VBA「こばとは9姉妹の末子です」を表示するプロシージャの実行結果

コメント