今度は、セルの値を取得したり、セルに値を入力したりしてみましょう。
まずは、前回作った「Book1」ファイルのSheet1にテストデータを作りましょう。
ついでに、前回コードを書いたMsgBox “Hello World”の先頭にシングルクォーテーション「’」をつけましょう。
'MsgBox "Hello World"
コメントアウトといって、そのコードが無効になります。メモ書きにも使えて便利です。
セルの値の取得
まずは以下のコードを入力しましょう。
MsgBox ThisWorkbook.Sheets("Sheet1").Cells(1, 1).Value
実行するとA1セルに入力されていた「果物」とメッセージが出るはずです。
セルを値を取得する際、基本的に以下の情報が必要になります。
- どのブック(開いているExcelファイルに限る)か→ThisWorkbook
- どのシートか→Sheets(“Sheet1”)
- どのセルの値か→Cells(1, 1).Value
このコードの場合は、
- ThisWorkbook→このコードが書かれているブック
- Sheets(“Sheet1”)→シート名が「Sheet1」のシート
- Cells(1, 1).Value→1行目の1列目のセルの値(A1のセル)
を意味します。
また、ブックやシートやセルなどの操作したい対象をオブジェクトといい、これらを「.(ドット)」で連結します。
日本語的な意味をもたせるならば、「~の」という意味になるでしょうか。
さらに末尾の「Value」はプロパティといって、そのオブジェクト(今回の場合セル)が持つ情報を引き出せます。
ThisWorkbookのSheets(“Sheet1”)のCells(1, 1)のValue(値)の情報を引き出しますよ、といったかんじです。
セルに値を入力
前のコードをコメントアウトし、次のコードを入力しましょう。
ThisWorkbook.Sheets("Sheet1").Cells(5, 1).Value = "めろん"
実行すると、A5セルにメロンと入力されます。
今回のコードは以下のセルを指定し、入力しています。
- ThisWorkbook→このコードが書かれているブック
- Sheets(“Sheet1”)→シート名が「Sheet1」のシート
- Cells(5, 1).Value→5行目の1列目のセルの値(A5のセル)
- = “めろん”→セルの値に「めろん」という文字を入力
ThisWorkbookのSheets(“Sheet1”)のCells(5, 1)のValue(値)に「めろん」という文字を入力した、といったかんじです。
最後に
セルの値を取得・入力できるようになりました。が、そのたびに
ThisWorkbook.Sheets(“Sheet1”).Cells(5, 1).Value
と書くのは結構面倒くさいですよね。次回はその問題を解決する「変数」についてまとめます。
