マクロ内の特定のセルの選択(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トレーニングのソースです。
このヒント(2791)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkマクロ内の特定のセルの選択。