Goto メソッド
次の例のように、1 行で、Activate メソッド や Select メソッド で、別シートのセルを選択しようとすると エラー になります。
(例)現在は、「Sheet1」が選択されている状態
Worksheets(“Sheet2”).Range(“A1”).Activate (⇒ エラー)
Worksheets(“Sheet2”).Range(“A1”).Select (⇒ エラー)
Goto メソッドを使用するとこれが可能になります。
Application.Goto Worksheets(“Sheet2”).Range(“A1”)
【書式】
object.Goto ( reference ,scroll )
引数・戻り値
- object ・・・ 対象となる Application オブジェクトを指定します。
- reference ・・・ 移動先のRange オブジェクトを指定します。省略すると、直前に Goto メソッドを使用した時のセル範囲となります。
- scroll ・・・ True を指定すると、移動先のセル範囲の左上端が、ウインドウの左上端に表示されるようにスクロールします。False を指定するとスクロールしません。省略可(既定値は、False)。
Goto メソッドを実行すると実行直前に選択しているセル範囲(移動前のセル範囲)が、PreviousSelections プロパティの 1 番目の要素に追加されます。
Goto メソッドで、引数 reference を省略して実行した場合、PreviousSelections プロパティの 1 番目の要素へ移動します。
PreviousSelections プロパティ
[名前] ボックスを使ってセルまたはセル範囲にジャンプしたり、[編集] メニューの [ジャンプ] をクリックしたり、マクロ(VBA)の Goto メソッドを呼び出したりすると、移動前のセル範囲が配列の 1 番目の要素として追加されます。配列の他の要素は、1 つずつ後ろに送られます。最大 4 個のセル範囲を保存することができます。
【書式】
object.PreviousSelections ( index )
引数・戻り値
- object ・・・ 対象となる Application オブジェクトを指定します。
- index ・・・ 配列のインデックス番号( 1 ~ 4 )を指定します。
Goto メソッド 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Sub Sample_Goto() Worksheets("Sheet1").Activate Range("A1").Activate 'Goto メソッドで、シート「Sheet2」のセル「B2」へ移動 Application.Goto Worksheets("Sheet2").Range("B2") 'Goto メソッドで、セル「E100」へ移動(スクロールする) Application.Goto Worksheets("Sheet2").Range("E100"), True '保存された、PreviousSelections の1番目の要素を表示 '最後に Goto メソッドを実行した時の移動前のアドレス(ファイル名・シート名含む) MsgBox Application.PreviousSelections(1).Address(external:=True) End Sub |