• ベストアンサー

エクセル シートの検索

エクセルの質問です シート1のA1のセルにリストボックスがあり、50人ほどの人名が表示されるようになっています。 シートはそのリストの人数分(50ほど)あり、各シートごとに1人分の情報が載っています。各シートのB1には人名が入力されています。 前はシート数が少なく、その人のシートを探すのは簡単だったのですが、人数が増え大変になってきました。 お聞きしたのは、たくさんあるシートの中から、シート1のリストボックスで選んだ人名のシートへ飛びたいのです。 さらに、そのシートの人名が入力されているB1まで飛べたら最高です。 そういう事はできるのでしょうか? お分かりの方がいらっしゃれば助けてください。 オフィスは2003です。 よろしくお願い申し上げます。

noname#132207
noname#132207

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

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)
回答No.5

 マクロでツールバーでシート一覧を表示させ、選択したシートを表示させる、というのはいかがでしょうか?  その方法については、↓のページに書いてあります。サンプルファイルも置いてあります。 エクセル技道場-マクロでツールバー作成 http://www2.odn.ne.jp/excel/waza/toolbar.html#SEC18  目次シートで、各シートへマクロやハイパーリンクで飛ばすのは、飛ばすのはいいのですが、飛んだ先のシートから別のシートに飛ぶ際に、目次シートに戻ってから別のシートに飛ぶ、というふうにする必要があります(各ページに各ページへの目次は作成しないと思うので...)。  ツールバー方式だと、一回、目次シートに帰る必要がありません。

参考URL:
http://www2.odn.ne.jp/excel/waza/toolbar.html#SEC18
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

質問の回答としては外してると思いますが・・・ 各シートごとに1人分の情報しかないんですよね? 各シート、表示項目がある程度同じなら データベース化してはいかがでしょうか? イメージ的には年賀状ソフトのようなものです 個人のデータを表で管理して、リストボックスで選んだ人のデータを表示する データベースに移行できれば 表示シートとデータシートがあればいいので、シートタグはスッキリ 人数の増減も行の追加削除で済みます 表示項目の変更も簡単になるので、人数が多くなれば多くなるほど手間が省けますよ 多分外してますよね ごめんなさい、読み飛ばしてください

回答No.3

HYPERLINK関数を使われたらいかがでしょうか。 シート名をそれぞれの人名にしておいて、シート1のA1の近くのセルに 次のような式を入力します。 =HYPERLINK("#"&A1&"!B1","Jump") リストで選択したら、"Jump" と表示されているセルをクリックします。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

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

関連するQ&A

  • エクセル VBA 複数シート検索

    超初心者です。 エクセルは2000を使用しております。 VBAを使って、複数シート(各フロア)にある座席表から、複数の人名(重複なし)を検索後、該当セルの背景に色を塗って印刷したいのですが、WEBで検索しても思うようにマクロを組めません。お助け願います。 質問が上手く出来ていないかもしれませんが、流れとしては 下記の感じです。 1.あらかじめ決められたシートに検索する人名のリストが存在 2.決められた複数のシートから検索 3.リストを上から順に人名がなくなるまで検索をループ 3.該当のセルの背景を塗りつぶす 4.印刷 簡単に言えば、誰がどのフロアのどこにいるかすばやく検索したいです。 っという感じでしょうか。

  • エクセルVBA「コンボボックスの値をワークシートに代入」

    エクセルVBA「コンボボックスの値をワークシートに代入」 連日質問してしまい申し訳ありません。・・・ 今回は「コンボボックス」にリストアップされている値をセルに入力したいのです。 画像を見て頂ければと思いますが、コンボボックス(左ウィンドウ画像)には25の文字列がリストアップされています。 このリストアップされている文字列をすべてワークシートのセルB4からの"4"列に入力したいのです。 なんだか滅茶苦茶ですが、ご理解頂ければご協力お願いします。

  • Excelのシート間の参照

    エクセル初心者です。 エクセルでシートが2枚あるものを作成しました。 一枚目のシートのA1のセルの内容(言葉)を 二枚目のシートのB3のセルの内容に参照させたいと思い B3を選択し、セルのなかに =を入力して 一枚目のシートのセルA1をクリックしようと思ってもクリックができません。 二枚目のシートのセルB3を同じ二枚目のシートのB10にあてようとして =を入力してB10をクリックすると参照ができます。 =B10 セル内は↑のようになります。 どうしてできないのでしょうか? 困っています.教えてください。

  • エクセルのシートについて

    エクセルでシート数を指定して挿入するマクロはどうやって作ったらいいでしょうか。 例えばA1セルに挿入したいシートの数を入力するとその数のシートが作成されるというようなマクロを作りたいのですが・・・

  • エクセルシートから検索

    カテゴリー違いかもしれませんが エクセルVBAのユーザーフォームを使用して テキストボックスへ入力したデータを指定のシートから検索し、 同じユーザーフォームへ希望のデータ(検索値の同行)を表示させるということはできるのでしょうか。 また、入力した文字と一致したもの全てをということも出来るでしょうか。 例 Aのテキストボックスに、検索したい文字を入れる 一致したデータ全ての行の情報を B以降のフォームへ表示させる 説明がわかりにくいとは思いますが 宜しくお願い致します。

  • エクセルの他シートを参照する関数を教えて下さい。

    3枚のシートで成績を付けています。 シート「あ」 … テストの点を入力し、合計する シート「い」 … シート「あ」の合計点数によってランクを付ける シート「う」 … 個人の情報一覧 1、シート「う」のA1セルに名前、A2セルに性別、A3セルに年齢を入力する(10人分) 2、シート「あ」に入力規則を設け、名前をリストより選ぶと、性別、年齢が自動入力される 3、シート「あ」に個人のテストの成績を入力する 4、シート「あ」の合計により、シート「い」にランクを自動で付ける 5、シート「う」のA4セルにランクを自動入力 4、まではできているのですが、5ができません。 シート「あ」にaさんの名前を入力して、テストの点数を入力したら、 シート「い」に表示されるランクを、シート「う」のA4セルに転載したいのです。 そして次、シート「あ」にbさんの名前を入力して…としたときに シート「う」のaさんの情報は残ってほしい。 これを10人分行うと、シート「う」に10人分のランクが記載されている。 というものを作ろうとしています。 ややこしい書き方をしましたが、どなたかご教授下さい・・・

  • エクセル Sheet1 セルで入力したものをSheet2のセルへ

    エクセルのSheet1のセル(例えばB1)に入力した文字を、 Sheet2のセルの任意のセル(例えばA5)に自動で表示させるには どうすればいいのでしょうか?  Sheet2のA5のセルの中で、=Sheet1!B1 と入れても「0」に なるだけで・・・エクセルの何の機能を使えばいいのか全然分かりません。よろしくお願い致します。

  • エクセルシートでVBAについての質問です。

    VBA初心者です。 エクセルのシート上にコンボボックスを配置してリストを選択すると同じシート上のセルに選択されたリストが表示されるようにしたいのですが、よくわかりません。 コンボボックスのオブジェクト名は名前ボックスに表示される名前でいいのでしょうか? 詳しい方ご教授お願いします。

  • エクセルで検索

    お世話になります。 エクセルで簡単な顧客購入リストを作っているのですが、販売商品数が50点程あり、これをデータの並び替えでは無く、簡単に購入商品ごとに検索出来るようにしたいのですが。 リスト自体はsheet1のセルA1=購入日、B1=管理No.、C1=〒、D1=住所、E1=氏名、F1=tel、G1=購入商品と設定してA2以下に入力している程度の簡素なリストです。(購入日ごとに入力していますので同商品を購入してくれるリピータ・重複者もいます) 仮にSheet2のA1に商品名を入力するとその商品を購入した全お客さんのリストがSheet2のA2以下に表示されるようにしたいのですが・・・(重複者リピータも含め購入者全て表示したいです) 素人が簡単に出来るようなやり方は無いでしょうか・・・どうぞ宜しくお願い致します。 つたない説明ですみません。

  • エクセルの全シートのデータ反映について

    エクセルについて質問があり、投稿させて頂きました。 わかる方がいましたら、回答をお願いします。 表示用シートと入力用シートがあります。 表示用は必ず1シート、入力用は毎回シート数が異なり、シート名も変わります。 この場合、入力用シートに入力したデータを表示用シートに表示するには、どういう関数を使えば良いのでしょうか。 参照すべき入力シートのデータのセルは、どのシートも一緒です。 例) 入力用シートの、それぞれB4セルを、表示用シートのA1~A4セルに表示する。 今回はA、B、C、Dの4つの入力用シートだったが、次回はE、F、G、H、Iの5つの入力用シートになる。

専門家に質問してみよう