VBA再入門セルに数字や文字を入れる(RangeとCells)
エクセルは、セルが基本単位です。セルが縦横に集まってシートが出来ていて、シートが集まってブックが出来ています。今回からは、マクロVBAで、この基本単位のセルの扱い方をやっていきます。以下で、Enterと書いているのは、Enterキーを押すという意味です。
開始セル、終了セルの指定は、 Rangeの中に書くセル指定は、RangeでもCellsでも、どちらでも問題ありません。 Range(Cells(7, 1), Cells(7, 3)) = "一括入力" Range(Range("A7"), Range("C7")) = "一括入力" Range(Cells(7, 1), Range("C7")) = "一括入力" Range(Range("A7"), Cells(7, 3)) = "一括入力"
上記のどれでも、同じ意味で同じ動作となります。 セルの指定方法は、数限りなくあります。 本当にたくさんあるのです。 ですが、ここで取り上げた書き方だけ覚えれば十分です。 これ以上の、複雑な指定方法を覚える必要はありません。
それでは、そもそも、 RangeとCellsのどちらを使えば良いのか・・・Range("A6:C6") = "一括入力" Range(Cells(7, 1), Cells(7, 3)) = "一括入力2" 「これなら、上の指定の方が簡単だよね!」 その通りなのですが、マクロをいろいろ書いていくと、上のRangeだけの指定では都合が悪い場合が出てきます。 その為にも、今のうちに基本中の基本である、セルの指定については、しっかりと覚えてください。
Rangeは、範囲の意味の英単語です。 従って、範囲を指定する最後の一括入力のようなセル範囲を指定する場合は、Rangeでしか書くとが出来ませんので、当然Rangeを使います。 それ以外で、単一のセルを指定する場合ですが、 基本はCellsです。 ただし、シート上で今後移動する可能性の少ない固定位置のセルを指定する時は、Rangeも使います。 つまり、このセルに決まっている、セル位置を明確にしたい場合です。 そのような場合は、セル番地を文字で指定できるRangeの方が、後々見やすいだろうという事です。
「セルに数字や文字を入れる」のまとめ基本は、Cells 複数セル範囲を指定する時は、Range 移動しない固定セルを指定する時は、どちらでも良いがRangeの方が見やすい 今は、これで覚えてください。 今後も、セル指定はずーと出てきます、色々とでてきますので、都度解説します。
ExcelマクロVBA入門の対応ページ 第8回.セルに文字を入れるとは(Range,Value) ・前回書いたVBAコード ・セル番地ついて ・= 記号について ・値は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の応用の関連記事
同じテーマ「マクロVBA再入門」の記事 新着記事 NEW ・・・新着記事一覧を見る アクセスランキング ・・・ ランキング一覧を見る このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。 掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。 本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。 This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.