- ベストアンサー
VBAで検索一致で条件一致のシートを開きたい
教えて下さい。参考書も購入しネットでも調べましたがわかりません。宜しくお願いします。 エクセルでクライアントデータをシート1枚につき1社保存し(仮に100社保存)したとして、シート1にメニューの様なものを作成し検索でクライアントIDが一致するとその社名のシートが開くようにしたいのですが可能でしょうか?宜しくお願い対します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まずはヒントから 例えば、 何処か、隠したシートを用意します。 各シートの各々B3にクライアントIDが書かれているものと仮定します。 これを元に クライアントIDとそれを見つけたシートの一覧を 先程の隠したシートの何処かに 対になるようにペアで各々1列づつ縦に書き、 クライアントIDを基準に昇順に並べ直します。 このシートのか作り方は 宣言とか、エラー対策とか、 その他細部は、ヒントですので省きますが 縦は何処 = 3 横は何処 = 3 シート名 - sh 何処 = 1 For Each ここ In このブックのシート達 Sheets(しーと名).Cells(縦は何処 + 何処 , 横は何処).Value = ここ.Range("B3").Value Sheets(しーと名).Cells(縦は何処 + 何処 , 横は何処 + 1).Value = ここ.Range("B3").Name 何処 = 何処 + 1 Next ここ こんなイメージでしょうか、 後は この隠しシートのC3に対し カレントレギオンをして http://sdrv.ms/Zs3mIn Like とかFindで 「入力されたもの」に対する該当位置を探し出し、 その見つかったセルに対してOffsetして、 横に1つずれた位置を見当付けて、 そこを読出せば、 どのシートかは これでVBAのプログラムが理解してくれますよね? そのシートをアクティブにすれば 良いのじゃないでしょうか? 如何でしょうか?イメージは付きましたか? お役に立てていたならば幸いです?
その他の回答 (2)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
ハイパーリンクでシート間を楽々移動 http://kokoro.kir.jp/excel/hyperlink-sheet.html
- bin-chan
- ベストアンサー率33% (1403/4213)
目次シートを作って、社名一覧と自ブック内へのハイパーリンクを設ける。 社名一覧から目的の社名検索する部分は工夫してください。
お礼
早速の回答ありがとうございます。やり方等ご面倒でなければご説明をして頂くと有難いです。
お礼
ありがとうございます。初心者なのでご説明された内容も難しいですが理解できるように参考書等読んで出来るようにしてみます。本当にありがとございます。今週の金曜日までに作らないといけないので助かりました!