以前紹介したSelectionプロパティ、ActiveCellプロパティと本記事のSelectメソッド、Activateメソッドを比べてもらうと、メソッドとプロパティの比較や理解がしやすいかもしれません。
Selectメソッド
Selectメソッドは、指定したセルを選択します。
※SelectメソッドとActivateメソッドは単体セルを指定する場合は、同じ動きをします。
以下のコードを実行すると、セルA5が選択されます。
以下のコードを実行すると、セルA1:B10が選択されます。
※Range型変数「rng」にセルA1:B10を代入しています。
Selectメソッドの注意点
Selectメソッドは、アクティブでないワークシートのセルを選択しようとすると以下のような「実行時エラー'1004' RangeクラスのSelectメソッドが失敗しました。」になってしまいます。
以下のようにSheet3が選択されている(アクティブな)状態で、Sheet1のセルを選択しようとすると、上記の実行時エラー1004がでてしまいます。
解決方法は、以下のようにSelectで選択するSheet1をあらかじめActivateメソッドでアクティブにすることです。
Activateメソッド
Activateメソッドは、指定したセルをアクティブにするメソッドです。
単体のセルを指定する場合は、SelectメソッドとActiveメソッドは同じ動きをします。
以下のコードではセルA5が選択されます。
以下のコードを実行すると、セルA1:C6が選択されます。
※アクティブなセルはセルA1の1つだけです。
Activateメソッドの特徴として、上のコードに「Range("B5").Activate」を付け加えると、選択したセル範囲の中でアクティブなセルを変更することができます。