VBA入門
セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
公開日:2013年5月以前 最終更新日:2022-03-24

第8回.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)


前回実行したマクロを、もう少し詳しく見てみましょう。


どうしてこれでセルに値が入るのか。
どうやってVBAを読んだらよいのか。


前回書いたVBAコード

前回書いたVBAは以下の通りです。

Sub 練習1()
  Range("A1") = "おはよう!"
End Sub

これを少しだけ詳しく解説します。


セル番地ついて

先のVBAで、とにかくA1セルに、「おはよう!」と入る事がわかりました。
セルに文字を入れる場合は、

Range("セルの番地") = "入れる文字"

セル番地は、列記号+行番号です、A列1行目のセルなのでA1になります。
マクロVBA 入門 解説


= 記号について

この「=」が少し理解しづらいかもしれません。

この場合の「=」は、「」とでも考えて下さい。
=」の右側の文字・数値を左側に入れると言う事です。

Range("A1") = "おはよう!"
Range("A1") ← "おはよう!"

シートの関数と同じで、文字は"ダブルクォーテーションで囲みます。

このようにVBAを書くことで、セルに文字を入れられる訳です。
Range("B2") = "こんにちは"
これなら、B2セルに、「こんにちは」と入ります。
「入ります」と書きましたが、セルにその文字が表示されると言う事です。


値はValue

セルは色々な側面を持っています。
表示する文字、文字の大きさ、文字の色、背景色、罫線等々
セルの何を、どのようにしたいのか・・・
ここでは、セルの値として文字を入れています。

値は、Valueであり、本来は、

Range("セル番地").Value = "文字"
 ↑           ↑     ↑
セル        の 値  文字を入れる。

このように書きます。
ただし、.Valueは書かなくても良いので先のVBAのように.Valueは省略しても構いません。
Rangeオブジェクト.Valueの省略について
エクセルVBAを教えていて、これほど多く聞かれる質問はないでしょう、RangeやCellsの.Valueは省略したほうが良いか、書いた方が良いか、当然、省略出来ない場合もあれば、オブジェクトとして扱うために.Valueは書けない場合もあります。ですので、結論から言えば、書きたければ書けば良いし、書きたくなければ書か…

VBAを書き慣れてきたら、適宜.Valueを書くようにしてください。
この.Valueの省略についてしっかり理解出来たら、初心者卒業と言っても良いでしょう。


オブジェクトとは、プロパティとは

値以外を扱う場合、例えば、文字の大きさを指定する時は、

Range("セルの番地").Font.Size = 11

このように、セル以降にいろいろと指定が必要です。
(これについては、今後徐々に説明します。)

ここでの、セルオブジェクトと言います。
そして、Valueプロパティと言います。

つまり、

オブジェクト   のプロパティを入れる。
 ↓           ↓     ↓
Range("セル番地").Value = "文字"
 ↑           ↑     ↑
セル       の  値  文字を入れる。

RangeオブジェクトのValueプロパティに文字を入れています。

オブジェクト.プロパティ = 値

このように、オブジェクトの次に「.」を挟んで、プロパティを指定します。
そして、「=」で、値を入れます。

このオブジェクトと呼ばれるものは他にもたくさんあります。
ワークシートもブックもオブジェクトです。

そして、セルはRangeオブジェクトと呼びます。
Rangeオブジェクトには多くのプロパティがあります。
(今後徐々にでてきます。)
※Value以外のプロパティは省略できません。

オブジェクトは対象物、プロパティはその属性になります
今、私が飲んでいる缶ビールをオブジェクトとすると(笑)
入っているビールの量がValueです。
中のビールだって、ドライにラガーといろいろ種類があります。
缶の表面にはいろいろと印刷されています。
これらが、プロパティです。

エクセルの言葉を理解しましょう

エクセルやVBAが出力するメッセージは、エクセルの言葉で書かれています。
分かりづらい日本語も多々ありますし専門用語も使われています。
これらの用語について深く知らなくても問題ありませんが、概ねどんなことを言っているのかくらいは理解する必要があります。
VBA再入門の第12回.エクセルの言葉を理解する(オブジェクト、プロパティ、メソッド)
・VBAが表示するメッセージ ・オブジェクト、プロパティ、メソッド ・プロパティとメソッドの違い ・オブジェクトの階層(親子構造) ・プロパティの省略 ・エクセルの言葉であるVBAを日本語に翻訳する ・最終行取得のコードを訳してみる ・VBA用語を覚えることについて ・ExcelマクロVBA入門等の対応ページ


セルに文字を入れるとは

セルに文字を入れる・表示すると言う事は、

セル(Rangeオブジェクト)のValue(プロパティ)に、文字を入れると言う事なのです。

結果として、指定したセルに文字が入り表示される事になります。

オブジェクト、プロパティと言った用語は、直ぐには理解しがたいと思います。
まずは、そのような言い方をするのだとだけ覚えて下さい。
これらについての詳細な解説は、今後少しずつ説明を深めていきます。




同じテーマ「マクロVBA入門」の記事

第5回.VBEのオプション設定(Option Explicit)

マクロを書き始める前に、出来れば設定しておいた方が良いオプションがあります。いえ、絶対に設定しておかなければならないVBEのオプション設定です、必ず最初に設定しておいてください。VBEの「ツール」→「オプション」以下の画面が出ます。
第6回.とにかく書いてみよう(Sub,End Sub)
それでは、とにかくマクロVBAを書いてみましょう。VBEで実際にマクロを書いてみましょう VBE(VisualBasicEditor)に標準モジュールを追加したら、そこにマクロを書いていきます。sub練習1 と入力し、Enterして下さい、このように、subがSubと先頭が大文字になり、後ろに()が付きます。
第7回.マクロを実行するには(F5)
・VBEの画面で実行 ・ワークシートの開発タブで実行 ・ボタンや図形に登録して実行 ・マクロを実行すると
第8回.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)
第9回.Rangeでのセルの指定方法
・複数のセル(矩形のセル範囲) ・列全体 ・行全体 ・名前定義のセル範囲 ・特殊な指定方法 ・マクロVBAで良く使う書き方
第10回.Range以外の指定方法(Cells,Rows,Columns)
・Cells(行番号, 列番号) ・Rows(行番号) ・Columns(列番号) ・RangeとCellsの関連記事
第11回.RangeとCellsの使い方
・RangeとCellsの基本的な使い分け方 ・固定セル(固定位置)の指定 ・Rangeに変数は使わないようにします ・1つの(VBAで位置を変化させる)セルを指定する場合 ・セル範囲(複数セル)を指定する場合 ・複数行全体、複数列全体の指定 ・RangeとCellsの使い分け方のまとめ ・RangeとCellsの基本の関連記事 ・RangeとCellsの応用の関連記事
第38回.セルに計算式を設定(Formula)
・計算式を設定できるプロパティ ・Valueプロパティ ・Formulaプロパティ , FormulaLocalプロパティ ・FormulaR1C1プロパティ , FormulaR1C1Localプロパティ ・R1C1参照形式 ・Localが付くプロパティについて ・それぞれの違い(Localは除く) ・何故、こんなに多くのプロパティが存在しているのか ・R1C1形式を使うメリット ・たった1行のVBAで複数のセルに計算式を入れる
第12回.変数宣言のDimとデータ型
・データ型 ・変数の使い方 ・変数名の規則 ・良く使われる変数名 ・自動型変換、暗黙の型変換 ・変数宣言の必要性 ・Dim変数宣言のまとめ
第13回.定数宣言のConstと型宣言文字
・Const定数の基本 ・変数でも同じ事が出来るが・・・ ・ダブルクォーテーションについて ・型宣言文字 ・Constにデータ型を指定しない場合のデータ型 ・その他の定数 ・Const変数宣言のまとめ
第14回.文字の結合(&アンパサンド)と継続行(_アンダーバー)
あるセルの文字と、あるセルの文字をくっつけて、別のセルに表示する、よくある事例であり、頻繁に行われることです。A1セルに"abc" B1セルに"123" この時に、C1セルに"abc123"を入れるような場合のマクロVBAになります。


新着記事NEW ・・・新着記事一覧を見る

VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ