PR

【VBA】指定セルに移動(ジャンプ)する

これで楽に!?VBA活用
記事内に広告が含まれています。

こんにちは、Ryoです。
VBAで処理する際にセル指定にはSelectを使う場合が多いですが、シートを跨って移動したい場合に、対象シートをアクティブにする必要があり、少々面倒だったりします。

その手間をかけずに異なるシート間でもセルを指定するにはGotoを使う方法がありますので、今回はその内容について書いてみたいと思います。

スポンサーリンク

1.サンプル概要

Sheet1がアクティブとなっており、セルA1が選択された状態からSheet2の表があるセルA5へ移動(ジャンプ)するサンプルとします。

Sheet1のセルA1から下の画像のセルA5へ移動(ジャンプ)させます。

2.サンプルコード

Sub Sample1()

 'Sheet2のセルA5を選択し、画面左上の位置に表示させる
  Application.Goto Reference:=Worksheets("Sheet2") _
  .Cells(5, 1), Scroll:=True

End Sub

Gotoメソッドについては、

Application.Goto Reference:=移動(ジャンプ)したいセル .Cells(5, 1), Scroll:=True(False)

このような指定になります。

サンプルコードではSheet2のA5を指定しているので、Referenceの後にWorksheets(“Sheet2”).Cells(5,1)という形で指定していますが、同一シート内であれば、
Application.Goto Reference:=Cells(5, 1), Scroll:=TrueでOKです。

Scrollが不要であれば、Falseを指定するか以下の様に省略してもOKです。
Application.Goto Reference:=Worksheets(“Sheet2”) .Cells(5, 1)

Scrollについては、True指定の場合に画面左上の位置に表示されるというものです。
サンプルコードを実行すると、こうなります。

また単一セルだけではなく、範囲として指定することも出来ます。
サンプルの表全体を指定するサンプルコードは以下になります。

Sub Sample2()

  Application.Goto Reference:=Worksheets("Sheet2") _
  .Range("A5:C10"), Scroll:=True

End Sub

Range(“A5:C10”)の様に範囲指定するだけですね。
これで実行すると、こうなります。

このように単一セル、範囲共に使用出来ますので、用途に応じて使い分けることが出来ます。

3.まとめ

セルの移動は頻繁に使いますので、Selectと合わせてGotoの使い方も覚えておくと、地味に便利なことが多いですからお薦めです。
覚える記述自体も非常に簡単ですから直ぐに使えると思います。




以上、指定セルに移動(ジャンプ)する内容についてでした!
この内容が何かの参考になれば幸いです。

Ryo

タイトルとURLをコピーしました