よく使うステートメント

GoTo サブルーチン移動

 指定したセルにジャンプするためのメソッドとして「GoTo メソッド」があります。

基本形

Application.GoTo Reference:=移動先セル,Scroll:=True/False

・移動セル → 具体的なセル番号かセル範囲を指定します。

・Scroll:=True → 移動セルが画面の左端に表示されます。

・Scroll:=False → 画面の左端の寄ることなく、普通に表示されます。

具体的な例です。

Sub celljamp1()

 Application.Goto Reference:=Worksheets(2). _

Range(“C2”), Scroll:=True

 ActiveCell.Value = “Japan”

End Sub

シート名の左から2番目のシートに移動し、「セルC2」を選択する。

「Scroll:=True」なので、セルC2は画面の左上端に表示される。

アクティブになったC2セルに「Japan」と書き入れる。

※ 参考までに

 Worksheets(2) とは必ずしも 「Sheet2」とは限らない。

 シートの並びが [Sheet1][Sheet3][Sheet4][Sheet2]と並んでいた場合は「Sheet3」が移動先のシート(左から2番目)となる。

Sheet2 に表示したい場合は、

Application.Goto Reference:=Worksheets(“Sheet2”). _

Range(“C2”), Scroll:=True

とすればよい。

Sub celljamp2()

 Application.Goto Reference:=Worksheets(2). _

Range(“C2”), Scroll:=False

 ActiveCell.Value = “Japan”

End Sub

上記の例と同じ。

ただし、Scroll:=False となってるので、左端に寄ることなく普通に表示される。

この表示が無い場合は「Scroll:=False」と同じ結果になる。

Sub celljamp3()

   Application.Goto Reference:=Worksheets(“Sheet2”). _

Range(“B3:E6”), Scroll:=False

End Sub

セル範囲(B3)に移動し、B3 ~ E6 のセル範囲を選択する。

Sub celljamp4()

   Application.Goto Reference:=Worksheets(“Sheet2”). _

Range(“B3:E6”), Scroll:=True

End Sub

上記の celljamp3 と反対に Scroll:=True にすれば、次のように表示される。

「GoTo」と「Select] ととの違いについて

 「GoTo」も「Select」もその指定されたセルに移動し選択されます。

ただし、両者には決定的違いがあります。

 「GoTo]の場合は、現在アクティブでないシートのセルを指定しても問題なく移動・選択されます。

 これに対し「Select」の場合は、そのシートがアクティブになってないとエラーになります。


現在 Sheet1 がアクティブ状態とします。

現在 Sheet1 がアクティブ状態とします。

Sub SCT()

        Worksheets(“Sheet6”).Range(“D10”).Select

End Sub

 この場合は、下記のように分けて記載する必要があります。

Sub SCT2()

        Worksheets(“Sheet6”).Select ‘①

        Range(“D10”).Select ‘②

End Su

① 一旦 Sheet6 をアクティブ状態にします。

② その後 セル10 を選択します。

Do ~ Loop 条件満足で繰り返し  同じ処理を繰り返す「ループ処理」で、For ~ Next がありますが、これはあらかじめ決められた回数(カウンター変数)を繰り返すこ...
With ~ End With 同じオブジェクトの連続処理  同じオブジェクトに対して 複数の処理を連続して実行する場合、コードの一部を省略するWith ステートメントを使います。  共通...