プロが教えるわが家の防犯対策術!

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

A 回答 (4件)

シートタブをスクロールさせる場所で右クリックすれば、ダイアログ


が表示されますが、これではダメ?

これを VBA で表示させたいならこんな感じ。

Sub シート選択ダイアログ表示()
  With Application.CommandBars.Add(Temporary:=True)
    .Controls.Add(ID:=957).Execute
    .Delete
  End With
End Sub
    • good
    • 0

こんにちは。



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

VBAが少しわかるようになって、フォームなど使ってみたい時期なんでしょうが、難しいこと考えずに、


シート選択の専用シートを作り、
一番左にシートタブを持ってきておいて、
A列に第1シート1-第20シート分
C列にシート第21-第40シート分
・・
のように設定し
各セルに
=HYPERLINK("#Sheet3!A1","シート3")
のように、シートの数だけ入れる、のが簡単ですよ。
    • good
    • 0

こんばんは。



参考意見として。
VBAでシートを操作する方法は御存知でしょうか?

一番簡単な方法として。

マクロを有効にする
シートを次のシートにする
マクロを記録する。
マクロの中身を見る。
シート名(もしくは固有の情報があるので)をVBAで残りを書いてあげる。

マクロの消去。
一番最初のシートにボタンでもつけたり、リストをつけたりなどなどは工夫で。
これで可能です。
プログラムを作る上では先人の知恵を拝借すると吉。
http://www.google.co.jp/search?hl=ja&q=VBA+%E3%8 …
どこかにサンプルがあるかも。
(エクセルのマクロの中が実はVBAだったりします。)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています