- ベストアンサー
VBAでどうプログラムしたらいいのか教えてください
皆様、お忙しいところすみません。 VBAでどうプログラムしたらいいのか、わからなくなったので、教えてください。 ひとつのブックに、シートが50枚以上あります。 そのままだと非常に目的のシートまでたどり着くのに手間がかかるので、 VBAにて、フォームをつくり、その中にシート一覧を表示させ、 それをクリックすると目的のシートまで飛ぶ…というものを作成したいです。なんとかなりますでしょうか。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
シートタブをスクロールさせる場所で右クリックすれば、ダイアログ が表示されますが、これではダメ? これを VBA で表示させたいならこんな感じ。 Sub シート選択ダイアログ表示() With Application.CommandBars.Add(Temporary:=True) .Controls.Add(ID:=957).Execute .Delete End With End Sub
その他の回答 (3)
- OtenkiAme
- ベストアンサー率77% (69/89)
こんにちは。 私も100枚近いシートを持つブックを使っており、 ユーザー用には、ツールバーにシート一覧を表示させるVBAも 作ってありますが、私自身は、キーボードの操作で [CTRL]+[Page Up]/[Page Down]でシートの切り替えをしています。
- imogasi
- ベストアンサー率27% (4737/17069)
VBAが少しわかるようになって、フォームなど使ってみたい時期なんでしょうが、難しいこと考えずに、 シート選択の専用シートを作り、 一番左にシートタブを持ってきておいて、 A列に第1シート1-第20シート分 C列にシート第21-第40シート分 ・・ のように設定し 各セルに =HYPERLINK("#Sheet3!A1","シート3") のように、シートの数だけ入れる、のが簡単ですよ。
こんばんは。 参考意見として。 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だったりします。)