• ベストアンサー

VBAでどうプログラムしたらいいのか教えてください

皆様、お忙しいところすみません。 VBAでどうプログラムしたらいいのか、わからなくなったので、教えてください。 ひとつのブックに、シートが50枚以上あります。 そのままだと非常に目的のシートまでたどり着くのに手間がかかるので、 VBAにて、フォームをつくり、その中にシート一覧を表示させ、 それをクリックすると目的のシートまで飛ぶ…というものを作成したいです。なんとかなりますでしょうか。よろしくお願いします。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

シートタブをスクロールさせる場所で右クリックすれば、ダイアログ が表示されますが、これではダメ? これを VBA で表示させたいならこんな感じ。 Sub シート選択ダイアログ表示()   With Application.CommandBars.Add(Temporary:=True)     .Controls.Add(ID:=957).Execute     .Delete   End With End Sub

その他の回答 (3)

  • OtenkiAme
  • ベストアンサー率77% (69/89)
回答No.4

こんにちは。 私も100枚近いシートを持つブックを使っており、 ユーザー用には、ツールバーにシート一覧を表示させるVBAも 作ってありますが、私自身は、キーボードの操作で [CTRL]+[Page Up]/[Page Down]でシートの切り替えをしています。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

VBAが少しわかるようになって、フォームなど使ってみたい時期なんでしょうが、難しいこと考えずに、 シート選択の専用シートを作り、 一番左にシートタブを持ってきておいて、 A列に第1シート1-第20シート分 C列にシート第21-第40シート分 ・・ のように設定し 各セルに =HYPERLINK("#Sheet3!A1","シート3") のように、シートの数だけ入れる、のが簡単ですよ。

noname#42268
noname#42268
回答No.1

こんばんは。 参考意見として。 VBAでシートを操作する方法は御存知でしょうか? 一番簡単な方法として。 マクロを有効にする シートを次のシートにする マクロを記録する。 マクロの中身を見る。 シート名(もしくは固有の情報があるので)をVBAで残りを書いてあげる。 マクロの消去。 一番最初のシートにボタンでもつけたり、リストをつけたりなどなどは工夫で。 これで可能です。 プログラムを作る上では先人の知恵を拝借すると吉。 http://www.google.co.jp/search?hl=ja&q=VBA+%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB+%E3%82%B7%E3%83%BC%E3%83%88+%E6%93%8D%E4%BD%9C&btnG=Google+%E6%A4%9C%E7%B4%A2&lr= どこかにサンプルがあるかも。 (エクセルのマクロの中が実はVBAだったりします。)

関連するQ&A

専門家に質問してみよう