ExcelマクロVBA入門
第28回.セル・行・列の選択(Select,Activate)

Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説
最終更新日:2018-02-15

第28回.セル・行・列の選択(Select,Activate)


セルの選択について説明する前に、
選択セルアクティブセルについて、 説明する必要があります。


マクロVBA画像

この状態で、

選択セルは、B2~C6の10個のセルです。

アクティブセルは、B2セルになります。

選択セルは、1つの領域(連続した範囲)である必要はなく、

Ctrlを押しながら選択した場合は、複数の領域が選択できます。

しかし、アクティブセルは、常に1つです

アクティブブックのアクティブシートにのみ存在します。

アクティブではないシートの、最終アクティブセルは、

アクティブセルとは呼びません。


マクロでアクティブセルを参照する時は、

ActiveCell

と書きます。

文字を入れる場合は、

ActiveCell = "文字"


と書きます。

しかし、マクロにおいて、ActiveCellを使う事は無いでしょう。

使う事は無いでしょうと言うより、使わない方が良いでしょうということです。


セルの選択
Range("セル番地").Select

または、

Cells(行, 列).Select

複数セルの指定方法は、

第9回.Rangeでのセルの指定方法
前回までに出てきたRangeの使い方は、Range("A1") で、1つのセルを指定する場合でした。では、複数のセル(つまりセル範囲)を指定する場合どうするか。マウスでドラッグして、複数のセルを選択しますよね、そのような場合です。
第10回.Range以外の指定方法
Rangeの指定で、あらゆるセルおよびセル範囲は指定できるのですが、マクロで使う場合は、ちょっと使いづらい場合があります。もっと、プログラムっぽい(笑)指定方法があります。まずは、Cells(行,列) 行は、縦の行位置です、1行目は1、10行目は10です。
第11回.RangeとCellsの使い方
VBAではセルを指定する方法としてRangeとCellsがありますRangeもCellsもどちらもRangeオブジェクトでセルを指定するものですどちらを使ったらよいのでしょうかどう使い分けたらよいのでしょうか実際のVBA記述ではRangeとCellsを使い分ける必要があります。RangeとCellsの使い方について解説をします。

これらを参考にして下さい。



セルをアクティブにする
Range("セル番地").Activate

または、

Cells(行, 列).Activate

SelectとActivateは、複数セルを選択している場合のみ違ってきます

例えば、

Range("A1:B10,E11:F20").Select

を実行した状態で、

Range("F18").Activate


とすれば、セルの選択状態は変わらず、アクティブセルのみ移動します。

しかし、

Range("F18").Select

とした場合は、

他のセルの選択状態は解除され、F18セルのみ選択され、アクティブになります。



行の選択
Rows(行位置).Select



列の選択
Columns(列位置).Select



RowsとColumnsにおいても、Activateは出来ますが、特に意味は無いでしょう。

Rows(行位置).Activateなら、当該行のA列がアクティブになります。

Columns(列位置).Activateなら、当該列の1行がアクティブになります。


ここで出てきた、

Select
Activate

これらは、Rangeオブジェクトメソッドです。

メソッドとは、方法・方式で、

オブジェクトに対する動作・操作を指定します

上記以外でも、次回出てくる、セルの削除・挿入もメソッドになります。

オブジェクトは対象物、プロパティはその属性、メソッドは動作を与えます。
エクセルの言葉を理解する(オブジェクト、プロパティ、メソッド
ExcelマクロVBAを書いて実行すると、何やら難しい日本語らしきメッセージが表示されることがあります、エクセルが何かを伝えようとしている訳ですが、何を言っているのかを理解してあげなければエクセルがかわいそうです。しかし、エクセルが表示するエラーメッセージの言葉の意味位は知っていて損はありません。



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

名前付き引数について
総合練習問題2
ブック・シートの選択(Select,Activate)
セル・行・列の選択(Select,Activate)
セル・行・列の削除・挿入(Delete,Insert)
総合練習問題3
セルの書式(表示形式,NumberFormatLocal)
セルの書式(配置,Alignment)
セルの書式(フォント,Font)
セルの書式(塗りつぶし,Interior)
セルの書式(罫線,Border)


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

IfステートメントとIIF関数とMax関数の速度比較|VBA技術解説(6月23日)
Withステートメントの実行速度と注意点|VBA技術解説(6月6日)
VBA+SeleniumBasicで検索順位チェッカー(改)|VBA技術解説(6月2日)
マクロでShift_JIS文字コードか判定する|VBA技術解説(6月1日)
Shift_JISのテキストファイルをUTF-8に一括変換|VBAサンプル集(5月31日)
「VBAによる解析シリーズその2 カッコ」をやってみた|エクセル(5月21日)
VBA+SeleniumBasicで検索順位チェッカー作成|VBA技術解説(5月18日)
テーブル操作のVBAコード(ListObject)|VBA入門(5月12日)
テーブル操作の概要(ListObject)|VBA入門(5月12日)
VBAのスクレイピングを簡単楽にしてくれるSelenium|VBA技術解説(5月6日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.繰り返し処理(For Next)|ExcelマクロVBA入門
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄


  • >
  • >
  • >
  • セル・行・列の選択(Select,Activate)

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


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






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