第9回.Rangeでのセルの指定方法
前回までに出てきたRangeの使い方は、
Range("A1")
このように書くことで1つのセルを指定する場合でした。
矩形のセル範囲、行全体、列全体、特殊なセル範囲
これらの指定方法を見ていきましょう。
複数のセル(矩形のセル範囲)
複数のセル(矩形のセル範囲)を指定する場合のVBAの書き方です。
マウスでドラッグして複数のセルを選択しますよね、そのような範囲の場合です。
Range("A1:C5")
このように、:(コロン)で区切って、始点と終点を指定します。
次のように指定しても同じになります。
マウスでドラッグして複数のセルを選択しますよね、そのような範囲の場合です。
Range("A1","C5")
このように、,(カンマ)で区切って、始点と終点を指定します。
これで、A1セルからC5セルの四角いセル範囲(15個のセル)が指定できます。
Range(始点セル, 終点セル)
このように指定します。
ただし、このカンマでの書き方はVBAではあまり使いません。
このように、,(カンマ)で区切って、始点と終点を指定します。
これで、A1セルからC5セルの四角いセル範囲(15個のセル)が指定できます。
Range(始点セル, 終点セル)
このように指定します。
ただし、このカンマでの書き方はVBAではあまり使いません。
列全体
列全体を指定する場合のVBAの書き方です。
列見出しをクリックして選択する範囲の場合です。
Range("A:A")
これで、A列全体になります。
Range("A:C") または Range("A:A","C:C")
これらなら、A列からC列までの3列の範囲指定になります。
列見出しをクリックして選択する範囲の場合です。
これで、A列全体になります。
これらなら、A列からC列までの3列の範囲指定になります。
行全体
行全体を指定する場合のVBAの書き方です。
行見出しをクリックして選択する範囲の場合です。
Range("1:1")
これで、1行目全体の指定になります。
Range("1:5") または Range("1:1","5:5")
これなら、1行から5行までの5行の範囲指定になります。
行見出しをクリックして選択する範囲の場合です。
これで、1行目全体の指定になります。
これなら、1行から5行までの5行の範囲指定になります。
名前定義のセル範囲
名前定義されているセルの場合のVBAの書き方です。
Range("名前定義の名前")
これで指定可能です。
・名前ボックス ・名前の管理 ・定義済の名前定義の呼び出し
名前ボックスから名前を選択した場合のセル範囲です。これで指定可能です。
特殊な指定方法
飛び飛びのセル
飛び飛びのセルを指定する場合のVBAの書き方です。
Ctrlを押しながらマウスで選択していくような複数セルの指定です。
Range("A1,C5")
この指定では、A1セルとC5セル(2個のセル)のみ対象となります。
"(ダブルクォーテーション)の中で、,(カンマ)で区切って指定します。
この場合のセルの個数はいくつでも指定できます。ただし上限はあります。
Ctrlを押しながらマウスで選択していくような複数セルの指定です。
この指定では、A1セルとC5セル(2個のセル)のみ対象となります。
"(ダブルクォーテーション)の中で、,(カンマ)で区切って指定します。
この場合のセルの個数はいくつでも指定できます。ただし上限はあります。
交差セル
かなり特殊な指定方法として、
空白区切りの指定で、交差しているセルを指定できます。
Range("A:C 1:5")
これは、A:Cと1:5の交差している範囲、
つまり、A1~C5の矩形セル範囲になります。
この指定は、
Range("A1","C5")と同じになりますので、ほとんど使うことは無いでしょう。
空白区切りの指定で、交差しているセルを指定できます。
これは、A:Cと1:5の交差している範囲、
つまり、A1~C5の矩形セル範囲になります。
Range("A1","C5")と同じになりますので、ほとんど使うことは無いでしょう。
マクロVBAで良く使う書き方
Rangeの書き方について、
後半にいろいろな書き方も紹介しましたが、マクロで通常使用するのは、
Range("A1")
Range("A1:C5")
Range("A:A")
Range("1:1")
Range("名前定義の名前")
上記のいずれかがほとんどになります。
そして、最後になりますが、
Rangeの中に書く、セル番地は必ず大文字で書いてください。
シートの関数は、小文字で書いたとしても大文字に変換されますが、マクロでは変換されません。
やはり、シートの関数と同様の大文字表記が見やすいはずです。
セルの指定方法はまだまだ色々とあります。
次回以降、さらに詳しく見ていきます。
後半にいろいろな書き方も紹介しましたが、マクロで通常使用するのは、
Range("A1:C5")
Range("A:A")
Range("1:1")
Range("名前定義の名前")
Rangeの中に書く、セル番地は必ず大文字で書いてください。
シートの関数は、小文字で書いたとしても大文字に変換されますが、マクロでは変換されません。
やはり、シートの関数と同様の大文字表記が見やすいはずです。
次回以降、さらに詳しく見ていきます。
第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入門」の記事
それでは、とにかくマクロVBAを書いてみましょう。VBEで実際にマクロを書いてみましょう VBE(VisualBasicEditor)に標準モジュールを追加したら、そこにマクロを書いていきます。sub練習1 と入力し、Enterして下さい、このように、subがSubと先頭が大文字になり、後ろに()が付きます。
第7回.マクロを実行するには(F5)・VBEの画面で実行 ・ワークシートの開発タブで実行 ・ボタンや図形に登録して実行 ・マクロを実行すると
第8回.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)・前回書いたVBAコード ・セル番地ついて ・= 記号について ・値はValue ・オブジェクトとは、プロパティとは ・セルに文字を入れるとは
第9回.Rangeでのセルの指定方法第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になります。
第15回.四則演算と注釈(コメント)エクセルは表計算ソフトですから、計算が出来なくては話になりません。四則演算(加減剰余)は必須です。この四則演算で使う算術演算の演算子は、ワークシートの演算子と同じです。あわせて、注釈(コメント)の書き方も覚えましょう。
新着記事NEW ・・・新着記事一覧を見る
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
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)
アクセスランキング ・・・ ランキング一覧を見る
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コードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。