コマンドボタンを押したら一瞬で指定したシートに表示が切り替わり、指定したセルを表示したい時ありませんか?
使用頻度が高いVBAコードなので覚えておくと便利です。
言い換えるとセルの瞬間移動
エクセルで使用しているシートが1つではなく複数使用していて、シート間でセルの移動や表示を切り替える事が多くなります。
その時にワークシート内に配置したコマンドボタンを押せば、指定したシートやセルに表示が切り替わる(セルが移動する)ようにします。
ここでは、ユーザーフォームに配置したコマンドボタンに、「シート1」から「シート2」に瞬間移動するVBAコードです。
これで、シート1が表示されていたのですが、コマンドボタンを押すことによってシート2に移動しました。
もちろん現在表示中のシートがどのシートであれ、同様にシート2に瞬間移動します。
ただし、このままだとシート自体は希望通りに瞬間移動したのですが、セルの位置は指定していないので、必ずしもセルA1が左上端にあるわけではありません。
前回表示したセルの位置になってしまうので、とんでもない位置が表示される場合があります。
セルの位置もシートと一緒に指定する
どうせシートの瞬間移動をするならば、表示するセルの位置も常時同じの方がいいに決まっていますので、一緒に指定することをおススメします。
ここでは左上端に「セルA101」になるように指定します。
なぜ、「Range(“A101”).Select」を使わないの?って思いませんでしたか?
もちろんセルA101を指定していないので、表示されてもセルは移動していませんので画面だけが移動しています。
もし「Range(“A101”).Select」を使ってしまうと、表示された画面の左上端にセルA101ではないので、一般的には使いません。
とりっぷぼうる
これでシートの瞬間移動ができるようになりましたね。