- ベストアンサー
エクセル シートの検索
エクセルの質問です シート1のA1のセルにリストボックスがあり、50人ほどの人名が表示されるようになっています。 シートはそのリストの人数分(50ほど)あり、各シートごとに1人分の情報が載っています。各シートのB1には人名が入力されています。 前はシート数が少なく、その人のシートを探すのは簡単だったのですが、人数が増え大変になってきました。 お聞きしたのは、たくさんあるシートの中から、シート1のリストボックスで選んだ人名のシートへ飛びたいのです。 さらに、そのシートの人名が入力されているB1まで飛べたら最高です。 そういう事はできるのでしょうか? お分かりの方がいらっしゃれば助けてください。 オフィスは2003です。 よろしくお願い申し上げます。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
VBAの力を借ります。 シート1の名前のタブをクリックして、コードの表示 VBエディターが起動しますので Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Worksheets(Range("A1").Value).Select End If End Sub をコピィして閉じてください。 A1セルの値が変更されるとA1セルに表示されているシートへ移動すると思います。
その他の回答 (4)
- izmlz
- ベストアンサー率55% (67/120)
マクロでツールバーでシート一覧を表示させ、選択したシートを表示させる、というのはいかがでしょうか? その方法については、↓のページに書いてあります。サンプルファイルも置いてあります。 エクセル技道場-マクロでツールバー作成 http://www2.odn.ne.jp/excel/waza/toolbar.html#SEC18 目次シートで、各シートへマクロやハイパーリンクで飛ばすのは、飛ばすのはいいのですが、飛んだ先のシートから別のシートに飛ぶ際に、目次シートに戻ってから別のシートに飛ぶ、というふうにする必要があります(各ページに各ページへの目次は作成しないと思うので...)。 ツールバー方式だと、一回、目次シートに帰る必要がありません。
- hige_082
- ベストアンサー率50% (379/747)
質問の回答としては外してると思いますが・・・ 各シートごとに1人分の情報しかないんですよね? 各シート、表示項目がある程度同じなら データベース化してはいかがでしょうか? イメージ的には年賀状ソフトのようなものです 個人のデータを表で管理して、リストボックスで選んだ人のデータを表示する データベースに移行できれば 表示シートとデータシートがあればいいので、シートタグはスッキリ 人数の増減も行の追加削除で済みます 表示項目の変更も簡単になるので、人数が多くなれば多くなるほど手間が省けますよ 多分外してますよね ごめんなさい、読み飛ばしてください
- misatoanna
- ベストアンサー率58% (528/896)
HYPERLINK関数を使われたらいかがでしょうか。 シート名をそれぞれの人名にしておいて、シート1のA1の近くのセルに 次のような式を入力します。 =HYPERLINK("#"&A1&"!B1","Jump") リストで選択したら、"Jump" と表示されているセルをクリックします。
- okormazd
- ベストアンサー率50% (1224/2412)
Sheet1のコードモジュールに下記です。 Private Sub Worksheet_Change(ByVal Target As Range) If Target = Cells(1, 1) Then Worksheets(Cells(1, 1).Value).Activate Worksheets(Cells(1, 1).Value).Cells(1, 2).Select End If End Sub