【これだけは覚えて!】SelectとActivateの違いを徹底解説!【Excel VBA】

こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!

今回はこのような悩みについて解説します。

ルウちゃん

SelectとActivateって何が違うの?
使い方も含めて解説して!

この記事でわかるようになること
  1. SelectとActivateの違い
  2. アクティブ状態とはなにか
  3. Selectでは使えないメソッドについて←超重要
目次

SelectとActivateの違い

早速結論ですが、「Select」は文字通りシートやセルを選択することで、「Activate」はシートやセルをアクティブ状態にすることです。

これだけ言われても理解しづらいと思いますので、サンプルコードと実際の画面を見てください!

Selectの使い方と特徴

まずは「Select」された場合の動きを確認していきましょう!

サンプルコード
Range("A1:B3").Select

このように指定した範囲を選択することができました。

次に選択範囲の文字を空白にしてみましょう!

サンプルコード
Selection.Value = ""

「Selectionプロパティ」で選択されたセルを対象にすることができます。

選択された範囲全ての文字を空白にすることができましたね!

「Select」ではセルやシートを選択することができ、「Selectionプロパティ」では選択されているセルやシートを対象とすることができます。

Activateの使い方と特徴

次はActivate」について実際の動きを見ていきましょう!

サンプルコード
Range("A1:B3").Activate

このように指定した範囲が選択された状態になりました。見た目上は「Select」の時と全く同じです。

次も同じように、先ほどのコードでアクティブ状態にしたセルを空白にしてみましょう!

サンプルコード
ActiveCell.Value = ""

「ActiveCell」でアクティブ状態のセルを対象にすることができます。

このようにA1セルのみが空白になりました。

なぜこのようなことが起きるのでしょうか?

それは複数のセルをアクティブ状態にすることができないためです

セルやシートは同時に複数の編集をすることが可能なので少しややこしいですが、同時に複数のブックを編集することはできません。よってSelect」ではブックを対象にメソッドをかけることができません。

このように「Activate」とは1つのセルやシート、ブックを編集可能な状態にすることを言います。

まとめ

似ているのに違う動きをする「Select」と「Activate」について解説しました。

Select」は選択されている状態で「Activate」は編集可能な状態です。

この違いを理解するには実際にコードに組み込んでみて、覚えていくことが必要です。

ややこしいですが使い方や特徴を押さえておくと、必ず使う場面が出てくると思いますのでぜひ参考にしてください!

この記事で少しでも皆さんのお役に立てれば幸いです!

忘れないうちにお気に入り登録もお願いします!

ありがとうございました!

/// お得な情報 ///

すぐに使えて便利なテクニックが650個も手に入る!

気になる人は今すぐクリック!!

 

コメントはお気軽に!

コメント一覧 (2件)

  • 上の説明では、よく理解ができません。

    Activateしなくとも、
    RANGE(“A1”).Value=0 とでき編集可能で書き込み可能です。
    したがって、編集可能という意味が不明です。

    どういう編集なのでしょうか?教えていただけませんでしょうか?

    • コメントありがとうございます
      説明不足で申し訳ありません。
      Activateしなくても書き込み可能なのは、Activecellプロパティは省略しても実行可能だからです。
      他にもグローバルに定義されているものは省略することできます。
      また、複数のセルが同時にアクティブセルとして扱われることはなく、アクティブセルは必ず1つのセルになります。
      これを編集可能なセルという言葉を使って表現させていただきました。

コメントする


reCAPTCHAの認証期間が終了しました。ページを再読み込みしてください。

目次