- ベストアンサー
Excel2000で、目次となるシートのコンボボックスのリストから別のシートへジャンプしたいのですが・・・
現在Excelをまとめているのですが、シートが50ほどになりとても検索しにくくなっています。 そこで、シートの巻頭にシートを追加し、コンボボックスを設けて、コンボボックスのリストから選択したシートへジャンプさせたいと考えました。 VBAを使うようなのですが、参考になる質問が見つからなかったので、是非ご存知の方教えて頂けないでしょうか? ※ちなみに小生、VBAに非常に疎い為コンボボックスへのリストの入力方法まで教えて頂けるとありがたいのですが・・・・ 困っています! 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一番簡単な確認の方法として,VBAの画面でユーザーフォームを作成した時点でツールバーにある「マクロの実行ボタン」(三角のやつ)を押してみてください。VBAの画面からエクセルの画面に切り替わりマクロがきちんと動くかどうか確認できます。 きちんと動かないようであればマクロの不備。 きちんと動くようであれば以下の手順が簡単だと思います。 エクセルのツールバーにVBAとフォームを表示させます。そうするとツールバーに再生マークと録画マークが表示されると思います。録画マーク●をクリック。録画マークが停止マーク■に変わるのでそれをクリック。 VBAの画面を表示。VBAプロジェクト(左上のやつ)に標準モジュールフォルダの中にModule1というやつがあるのでそのコードを表示。 コードに Sub Macro1() UserFome1.show End sub と書き込み。 エクセルの画面に戻ってツールバーの「フォームのボタン」を目次ページに挿入。右クリックで「マクロの登録」をクリック。 Macro1を選択。 これでボタンをクリックするとユーザーフォームが出現します。 べつに「ボタン」でなくてもマクロを登録できるなら図形でも何でも構いません。
その他の回答 (1)
- freezmoon
- ベストアンサー率34% (26/76)
例えばデータの入ったシートが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
補足
たびたびすいません。。。 ▲マークを押して、マクロを走らせてみたのですが 結局コンボボックスにシート名が出てきませんでした。 何かおかしいと思うのですが、何がおかしいのかわかりません。 ちょっと自分でも本を買ってきて勉強したいと思います。 有難うございました。