【VBA】ValueプロパティとClearContentsメソッド

 本日の記事では、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「こばとは9姉妹の末子です」を表示するプロシージャの実行結果

 え? かばねちゃん以外にも姉がいるのかって?
 その話は長くなるから、また別の機会にね。

【VBA】ClearContents

 セルに入ったデータを削除したいときは、ClearContents メソッドを使います。

'[VBA] セルB2のデータを削除するプロシージャ
Sub Clear_Value()
  Range("B2").ClearContents
End Sub

 Clear_Value() を実行すると、セルB2 のデータが消去されて空白になります。それでは今日はこのへんで。また次回お会いしましょう。

Excel VBA
Excel VBA 表計算とプログラミング学習サイト

コメント

タイトルとURLをコピーしました