【ExcelVBA】セルの値を取得・書き込むためのValueプロパティとは?

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、VBAでセルの値を取得する方法・書き込む方法を知っていますか?

VBAではセルのデータを使って計算をしたり、結果をセルに書き込んだり、セルの値を取得・書き込むケースは多いです。

そこで今回は、

・セルの値を取得・設定するValueプロパティとの使い方

といった基礎的なことから、

・Valueプロパティを使ったサンプルコード

・【Valueを使うときの悩み】Valueは省略してもいいのか?

といった応用的な方法まで、徹底的に解説します!

Valueプロパティの使い方

まず、Valueプロパティの使い方について解説します。

Valueプロパティは、セルの値を取得・書き込みすることができるプロパティです。

それぞれ、次のように使います。

Valueプロパティの使い方:

セルには、Rangeメソッド・Cellsメソッドのどちらかを使います。

Rangeメソッドは直接セルのアドレスを入力してセルを指定し、Cellsメソッド行番号・列番号でセルを指定する方法です。

Valueを使う場合は、以下のようになります。

Range・CellsでValueプロパティを使う方法:

Rangeメソッド・Cellsメソッドの詳しい使い方について以下で解説しているので、気になる方は見てみてくださいね!

【VBA入門】Rangeでセルの範囲指定(Cellsとの使い分けも解説)
更新日 : 2019年5月27日
【VBA入門】Cellsでセルを指定(変数などRangeとの使い分けも解説)
更新日 : 2019年4月17日

Valueプロパティを使ったサンプルコード

次に、Valueプロパティを使ったサンプルコードをもとに、具体的な使い方について解説します。

セルからデータを取得するサンプル

まずは、セルから値を取得する方法についてです。

Excelのデータ:

サンプルコード:

実行結果:

Rangeメソッドを使って「A2・B2・C2・D2」を指定して「No・名前・得意言語・経験年数」のデータを取得し、Debug.Printメソッドを使ってデータを出力しているサンプルです。

このように、簡単にセルの値を取得することができます。

ちなみに、今回サンプルに使ったDebug.Printの使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】最初に覚えると幸せになれるDebug.Printの使い方!
更新日 : 2019年5月26日

セルに値を書き込むサンプル

つぎに、セルに値を書き込む方法についてです。

さきほどのExcelデータの最後に、データを追加するサンプルを用意しました。

実行前のExcelのデータ:

サンプルコード:

実行後のExcelのデータ:

6行目にデータを追加するため、「A6・B6・C6・D6」で「No・名前・得意言語・経験年数」を指定して、値を追加しています。

このように、簡単にセルにデータを書き込むことができます。

【Valueを使うときの悩み】Valueは省略してもいいのか?

ここまでValueを使う方法について解説してきましたが、Valueは省略して以下のように使うこともできます。

省略するサンプルコード:

省略できることを知ると、「Valueは省略して書いたほうがいいの?そのまま書いたほうがいいの?」と悩む方がもいると思いますが、結論から言うと次のどちらも正解です!


・何をしているのかぱっと見てわかりづらくなるため、省略しない
・Valueの分だけコードが長くなってしまうため、無駄なコードを読まないためにも省略する

大事なのは、「書き方を統一すること」です。

書いたコードに機能を追加するケースや、機能を作っている最中など、コードを読む機会はたくさんあります。

そのため、書き方を統一しておくことでコードにリズム感が生まれ、読みやすいコードを書くことができます。

Valueの省略する・しないに関わらず、「書き方を統一すること」はとても大事なので、ぜひ意識してみてくださいね!

まとめ

今回は、Valueを使ってセルの値を取得・書き込む方法について解説しました。

Valueプロパティは、使う頻度がとても多いプロパティです。

使い方も簡単なので、ぜひ使ってみてくださいね!

Excel VBAを最短で習得したい方へ

元々ITリテラシーの高い方やプログラムの学び方がわかっている方であれば、この記事通りに進めていけば、Excel VBAを独学で習得することができるでしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「なかなかやり遂げられ無い、挫折してしまった」
「時間が足りない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決することができない」

このような悩みを抱えている方も少なく無いと思います。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、より深くExcel VBAについて学習することできます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方やカリキュラムを考えてみませんか?

Excel VBAならではの学習方法や、現役エンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta2_vba2

LINEで送る
Pocket

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説