• ベストアンサー

エクセル ワークシートの切替をするマクロ

エクセル97です。 エクセルに関してはまったくといっていいほど素人です。 見当違いな点もあると思いますが、よろしくお願いします。 ワークシートを多数作成します。 (仮にシート名を1、2、3……とします。ただし最終的には連番にはなりません) 各シートの様式はすべて同じです。 やりたいことは、コマンドボタンあるいはショートカットキーでシートの切替です。 わからないなりに「新しいマクロの記録」を使ってシート1のボタンを押すと2に移動、というところまではできました。 ただ、これを何十とあるシートに一つずつ設定するのはかなりの手間なので、シートをコピーする時にマクロをいじらずにすむ方法が知りたいです。 (現在はシート1・シート2までしか作成していません。3以降はコピペで作成します) つまり「ボタンをクリックすると一つ右のシートに切替」という動作は可能でしょうか。 さらに「切替えたあとカーソルの初期位置をA2に」という事はできますか?(これはおまけでかまいません) わかりにくい説明になってしまいましたが、どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tbobi
  • ベストアンサー率45% (544/1189)
回答No.2

  Sub test1()  '右隣のシートをアクティブにする  ActiveSheet.Next.Activate  '↓A2セルをアクティブにする  Range("A2").Select End Sub これをコードウィンドウ(マクロの内容が書かれているところ。メニューバーの ツール > マクロ > マクロ > 編集 をクリックすると出る)に張り付けてください。 あとはこれをボタンに登録します。

k-minaduki
質問者

お礼

さっそくの回答ありがとうございます。 できました!! 試してみた所、理想どうりの切替ができました。 色々試行錯誤したのが嘘の様にあっさりと…… お尋ねしてみてよかったです。 本当にありがとうございました。

その他の回答 (2)

  • tbobi
  • ベストアンサー率45% (544/1189)
回答No.3

  #2です。 ふと思ったのですが、単にシートを切り替えるだけなら、ショートカットキーがありますよ Ctrl + PageDown ブック内の次のシートをアクティブにする。 Ctrl + PageUp ブック内の前のシートをアクティブにする。 ※なお、#2、#3はExcel2002で確認しました。

k-minaduki
質問者

お礼

あ…… なんてことでしょう(^^; あまりに簡単な方法があって脱力…… こんなに簡単に切りかえられたんですね。 知らないことだらけで、なんだかお恥かしい限りです。 とにかく色々と勉強になりました。 ご親切にどうもありがとうございました。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

マクロも使わずに一番簡単な方法はハイパーリンクを使うことです。 Sheet1の適当なセルに適当な値(例えばSheet2)を入れて、[挿入]→[ハイパーリンク]で[このドキュメント内]を選択し、セル参照をA2、ドキュメント内の場所をSheet2を選択し、[OK]を押します。 セル内のSheet2の文字が青くなりましたね。 これをクリックすると、Sheet2のA2セルに移動します。 ご確認下さい。

k-minaduki
質問者

お礼

さっそくの回答ありがとうございます。 完全に盲点でした! ハイパーリンクという手がありましたね。 今回はなるべくショートカットキーでの切替も出きるようにしておきたいので この方法は見送らせていただきますが、大変参考になりました。 ありがとうございます。

関連するQ&A