サイトアイコン pulogu.net

単一セルを選択する。

目次

目的

目次まで戻る

その一例

  1. 白紙のワークシートでテストしてみます。
    白紙のワークシート
  2. 下記マクロを実行してみます。「B3」を選択するマクロです。
    Sub B3選択()
    Range("B3").Select
    End Sub
    1. Range で操作対象取得。
    2. Select で選択実行。
  3. 「B3」が選択状態になりました。
    「B3」が選択されている。
    1. 下記マクロでも同じ結果になりました。
      Sub Cells使用_B3選択()
      Cells(3, 2).Select
      End Sub
      1. Cells で操作対象取得。
      2. (3,2) は 3 行目の 2 列目という意味です。

目次まで戻る

エラー発生例 1

操作対象のシートがアクティブになっていない場合、エラーが発生するようです。

  1. 「Sheet2」がアクティブになっている状態でテストしてみます。
    Sheet2 がアクティブシート。
  2. 下記マクロを実行してみます。「Sheet1」の「B3」を選択してみます。
    Sub エラー発生_B3選択()
    Worksheets("Sheet1").Range("B3").Select
    End Sub
  3. エラー発生。
    実行時エラー '1004': Range クラスの Select メソッドが失敗しました。

    Activate でアクティブシートを切り替えておくと、エラーが発生しないようです。

    1. 下記マクロを実行してみます。
      Sub エラー解消_B3選択()
      Worksheets("Sheet1").Activate
      Worksheets("Sheet1").Range("B3").Select
      End Sub
    2. 「Sheet1」がアクティブになって「B3」が選択されました。
      Sheet1 がアクティブシート。
      「B3」セルが選択されている。

目次まで戻る

エラー発生例 2

シートが選択されていても、アクティブになっていないとエラーが発生するようです。

  1. 「Sheet1」が選択されている状態でテストしてみます。
    「Sheet1」が選択されている。
  2. 下記マクロを実行してみます。 Sheet2,1,3 の順番で Select しています。
    Sub エラー発生_selectされていてもactiveになっていない()
    Debug.Print "active="; ActiveSheet.Name
    Worksheets(Array("Sheet2", "Sheet1", "Sheet3")).Select
    Debug.Print "active="; ActiveSheet.Name
    Worksheets("Sheet1").Range("B3").Select 'エラー
    End Sub
    1. Array でまとめて選択。
  3. エラー発生。
    実行時エラー '1004': Range クラスの Select メソッドが失敗しました。
    エラー発生行。

    イミディエイトウィンドウへの出力結果。

    アクティブシートが変化している。
    Sheet1~3 が選択されています。
    Sheet1~3 が選択されて「Sheet2」がアクティブになっている。シート名の下に点線が引かれています。

テスト環境

以上、閲覧ありがとうございました。

 

目次まで戻る

モバイルバージョンを終了