[VBA] セルの値の取得・入力、クリア (ClearContents)

 本日の記事では、Range プロパティを使って セルの値を取得 したり、またその逆に セルに値を入力する する方法について学びます。記事の最後ではセルの値を消去する ClearContents メソッドの使い方についても解説します。
 

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姉妹の末子です」を表示するプロシージャの実行結果

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

ClearContents でセルのデータをクリアします

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

'VBA セルB2のデータを削除するプロシージャ

Sub Clear_Value()

  Range("B2").ClearContents

End Sub

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

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)