本日の記事では、Range プロパティを使って セルの値を取得 したり、またその逆に セルに値を入力する する方法について学びます。記事の最後ではセルの値を消去する ClearContents メソッドの使い方についても解説します。
【VBA】Value プロパティ
ワークシートのセルB2 に「こばとちゃんは今日も元気です!」という文字列が入力されているとします。このデータを取得してメッセージボックスに表示するコードを書いてみましょう。
'[VBA] セルB2の値を表示するプロシージャ(1)
Sub Get_Value_Range_1()
MsgBox Range("B2").Value
End Sub
Get_Value_Range_1() を実行すると「こばとちゃんは今日も元気です!」というメッセージが表示されます。
Value プロパティ は Range オブジェクトの値を取得するプロパティなんだけど、これは省略してもかまいません。でも、作法としては書いておいたほうがいいかもしれませんね。ちなみに Range の代わりに Cells を使って次のように記述しても同じです。
'[VBA] セルB2の値を表示するプロシージャ(2)
Sub Get_Value_Range_1()
MsgBox Cells(2, 2).Value
End Sub
ちなみに、Range はセル範囲を扱えますが、Cells は単体セルのみです。
今度はセルB2 に「こばとは九姉妹の末っ子です」というデータを入力してみます。
'[VBA] セルB2に値を入力するプロシージャ Sub Out_Value_Range() '文字列型変数 mystr を宣言 Dim mystr As String mystr = "こばとは九姉妹の末っ子です" Range("B2").Value = mystr End Sub
Out_Value_Range() を実行するとセルB2 にデータが書き込まれます。
え? かばねちゃん以外にも姉がいるのかって?
その話は長くなるから、また別の機会にね。
【VBA】ClearContents
セルに入ったデータを削除したいときは、ClearContents メソッドを使います。
'[VBA] セルB2のデータを削除するプロシージャ
Sub Clear_Value()
Range("B2").ClearContents
End Sub
Clear_Value() を実行すると、セルB2 のデータが消去されて空白になります。それでは今日はこのへんで。また次回お会いしましょう。
コメント