マクロ内の特定のセルの選択(Microsoft Excel)
マクロを使用してワークシートのデータにアクセスまたは変更する場合、ほとんどの場合、範囲に依存します。そうすることで、マクロ内のセルを実際に選択する必要がなくなります。それでも、(何らかの理由で)実際に操作するセルを選択したい場合があります。選択するセルが別のブックにある場合、タスクは少し難しくなります。たとえば、次の2行のコードについて考えてみます。
Sub CellSelect1() Workbooks("pwd.xls").Sheets("Sheet3").Select ActiveSheet.Range("A18").Select End Sub
このマクロは、pwd.xlsワークブックでSheet3!A18を選択すると思われるかもしれません。いくつかの注意点がありますが、そうです。複数のブックを開いている場合、pwd.xlsが現在アクティブなブックでないと、このマクロはエラーになります。これは、pwd.xlsがすでに開いているが、単に選択されていない場合でも発生します。
選択コードを1行に凝縮した場合でも、同じ動作が存在します。
Sub CellSelect2() Workbooks("pwd.xls").Sheets("Sheet3").Range("A18").Select End Sub
pwd.xlsがアクティブなブックである場合を除いて、引き続きエラーが発生します。解決策は、ジャンプの実行方法を完全に変更することです。 Selectメソッドを使用する代わりに、Gotoメソッドを使用して、メソッドのターゲットアドレスを指定します。
Sub CellSelect3() Application.Goto _ Reference:=Workbooks("pwd.xls").Sheets("Sheet3").[A18] End Sub
このコードは、pwd.xlsがすでに開いている場合にのみ機能しますが、現在アクティブなブックである必要はありません。指定したセルが表示しているものの左上隅にくるようにターゲットワークブックをスクロールする場合は、次に示すように、Scroll属性をTrueに指定できます。
Sub CellSelect4() Application.Goto _ Reference:=Workbooks("pwd.xls").Sheets("Sheet3").[A18] _ Scroll:=True End Sub
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(11947)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。
Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります:
linkマクロ内の特定のセルの選択。