はじめに
VBAでセルに値を入力する
EXCEL VBAの基本コードを紹介しています。初心者の方が順番に読んでくだけでVBAの基礎コードが理解出来るようになればなと思って、短めの記事で進めて行きたいと思います!
今回は、セルへの値の入力のコードについて紹介します!
値の入力
EXCELでVBEを立ち上げて、次のコードを標準モジュールに書きます。
Sub test()
Range("A1").Value = "ひらちんの部屋"
End Sub
は?って方は先にこちらをどうぞ。
VBAのコードは、[Sub ○○()]~[End Sub]の間に書きます。※他にもありますが一旦これで。
Range("A1").Value = "ひらちんの部屋"
このコードが処理の内容になります。プログラムでは通常、「=」で結んだ場合は、右と左が一緒という意味ではなく、右側を左側に入れるみたいなイメージを持って下さい。
この場合だと、右側「”ひらちんの部屋”」というテキストを、「Range(“A1”).value」に入れるというような感じです。
では、「Range(“A1”).value」とは何じゃらほい。ということになるのですが、まずは、言葉の通りになんとなく理解して下さい。
「Range」なので、範囲ですね(英語です)そのあとの「()」の中に、「”A1″」とありますが、これはEXCELでもおなじみのセルの場所のことです。
最後に「Value」なので、値ですね(これも英語です)
ここまでのことをつなげて日本語的にしてみます。
ってことになります。
実行してみましょう!
A1セルに「ひらちんの部屋」と入力されました!
実行結果
オブジェクト・メソッド・プロパティ
VBAのコードは、「オブジェクト」「メソッド」「プロパティ」というもので組みたっています。
イメージで言うと、「オブジェクト」は操作の対象の”モノ”、「メソッド」は”動き”、「プロパティ」は”状態”という感じで思ってくれて大丈夫だと思います。
今回のコードでいうと、次のようになります。
操作対象であるセルは、Rangeオブジェクトで表します。セルの状態(プロパティ)は色々な種類がありますが、「値」を表す状態(プロパティ)はValueプロパティです。
オブジェクトやプロパティやメソッドは「.」ドットでつなげます。
このRangeオブジェクトのValueプロパティに、「ひらちんの部屋」という文字列を設定したという形になっています。
おまけ
セルを操作するのは、もう一つ方法があります。以下のようなコードです。
Cells(1,1).Value = "ひらちんの部屋"
引数の「1,1」は、(行番号、列番号)となっていて、(1,1)はA1セルを表します。プログラムで使う場合は、こっちの書き方の方が便利な場合が多いので覚えておいて下さい。
ちなみに、「.Value」はRangeでもCellsでも省略できます。
Cells(1,1) = "ひらちんの部屋"
Range(1,1) = "ひらちんの部屋"
でも同じです。
まとめ
今回は、セルに値を入力する方法を紹介しました!ホントはRangeもCellsもプロパティだろ!みたいな玄人の方はちょっと目をつぶって頂けると幸いです笑
コメント