プロが教える店舗&オフィスのセキュリティ対策術

現在Excelをまとめているのですが、シートが50ほどになりとても検索しにくくなっています。
そこで、シートの巻頭にシートを追加し、コンボボックスを設けて、コンボボックスのリストから選択したシートへジャンプさせたいと考えました。
VBAを使うようなのですが、参考になる質問が見つからなかったので、是非ご存知の方教えて頂けないでしょうか?
※ちなみに小生、VBAに非常に疎い為コンボボックスへのリストの入力方法まで教えて頂けるとありがたいのですが・・・・

困っています!
宜しくお願い致します。

A 回答 (2件)

一番簡単な確認の方法として,VBAの画面でユーザーフォームを作成した時点でツールバーにある「マクロの実行ボタン」(三角のやつ)を押してみてください。

VBAの画面からエクセルの画面に切り替わりマクロがきちんと動くかどうか確認できます。

きちんと動かないようであればマクロの不備。

きちんと動くようであれば以下の手順が簡単だと思います。

エクセルのツールバーにVBAとフォームを表示させます。そうするとツールバーに再生マークと録画マークが表示されると思います。録画マーク●をクリック。録画マークが停止マーク■に変わるのでそれをクリック。

VBAの画面を表示。VBAプロジェクト(左上のやつ)に標準モジュールフォルダの中にModule1というやつがあるのでそのコードを表示。
コードに

Sub Macro1()
UserFome1.show
End sub

と書き込み。
エクセルの画面に戻ってツールバーの「フォームのボタン」を目次ページに挿入。右クリックで「マクロの登録」をクリック。
Macro1を選択。

これでボタンをクリックするとユーザーフォームが出現します。
べつに「ボタン」でなくてもマクロを登録できるなら図形でも何でも構いません。

この回答への補足

たびたびすいません。。。
▲マークを押して、マクロを走らせてみたのですが
結局コンボボックスにシート名が出てきませんでした。
何かおかしいと思うのですが、何がおかしいのかわかりません。
ちょっと自分でも本を買ってきて勉強したいと思います。
有難うございました。

補足日時:2006/03/03 10:38
    • good
    • 0

例えばデータの入ったシートが50あったとしましょう。

51枚目のシートを作りそのシートのA1からA50まで順にSheet1からSheet50まで書き込みます。(シートの名前を変更しているならその名前)A1からA50までをドラッグで囲みます。左上のセル番号を表示しているところに範囲の名前(例えば「しーと」)をつけます。

VBAを開きます。

ユーザーフォームを挿入し,コンボボックスを挿入します。コンボボックスのプロパティにRow Sourceがありますのでそこに「しーと」と入力します。

コンボボックスのコードを開いて

Private Sub ComboBox1_Change()

Sheets(ComboBox1.Text).Select
Range("A1").Select

End Sub

と入力してみてください。

この回答への補足

回答有難うございます。

早速試してみたのですが、上記通りにしてみたところ
コンボボックスがSheet51(目次ページ)に出てきませんでした。
(ExcelシートはA1~A50まで記入した状態で、何も変わりませんでした)
おそらくVBAの何かで間違った事をしているのだと思いますが、
どうしたらいいのでしょうか?
すいません。教えてください m(_ _)m

補足日時:2006/03/01 08:56
    • good
    • 0

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