dポイントプレゼントキャンペーン実施中!

Excelのシート内のセルを検索するときは、
ツールバー「編集」⇒「検索」
をすればOKですが、
複数あるシートの内の「シート名だけ」を
検索するにはどうしたらいいのでしょうか??

A 回答 (6件)

下記のようなものはいかかでしょう?



参考URL:http://www2.moug.net/cgi-bin/softwaredl.cgi?exce …
    • good
    • 0

参加します(^^)


新規Bookを開き、マクロで下記コードを実行すると、Sheet1にハイパーリンクを作成します。こっちで検索してクリックすれば[以下省略]

Sub mhl()
Dim wb As Workbook
Dim ws As Worksheet
Dim row As Long

Set wb = Workbooks.Open("Book2.xls") 'ここは対象ファイル名に
row = 1
For Each ws In wb.Worksheets
With ThisWorkbook.Worksheets(1)
.Hyperlinks.Add _
Anchor:=.Cells(row, 1), _
Address:=wb.FullName & "#" & ws.Name & "!A1", _
TextToDisplay:=ws.Name
End With
row = row + 1
Next
wb.Close
End Sub
    • good
    • 0

1つのシートを余分に確保します。

仮にシート名を「目次」とします。
A-J列までにあ-わを当てはめ、そのシートの頭文字(=商品の頭文字)の列にシート名を入れます。
A(あ) B(か) C(さ) D(た) E(な)
アイロン 霧吹き  墨    テレビ  
インキ  クレンザ 洗濯機  トナー

200品目あっても1列平均20行です。各行でアイウエオ順にしておくと見つけやすいです。
目次シートは一番左に置いておきます。
目的のシート名の入ったセルが見つかったら、そのセルをクリックするとそのシートが開きます。
VBAコードは
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Worksheets(Target.Value).Select
End Sub
たった3(1)行です。仮にC3セルを見たいなら
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Worksheets(Target.Value).Activate
ActiveSheet.Range("C3").Select
End Sub
で良いでしょう。
BeforeDoubleClickイベントプロセジュアの作り方は、VBE画面を出してプロジェクトの「目次」シートをダブルクリックし、「General」をWorksheet、「Declaration」をBeforeDoubleClickを選びます。

この回答への補足

ご答の方法だと、excelをひらいてから、さらに作業が必要となってしまうので、ムリだと思います~
(><)データはロックされていますし、
毎回読み取り専用で開かないといけませんので。
あくまで、セル検索=Ctrl+Fで・・・
というふうな具合で、シート名もワンタッチ探せる方法を探していますので・・・。

補足日時:2003/11/02 10:48
    • good
    • 0

またまた#1です。


事情がようやくわかったような・・・!?
ロックされているんでは編集も入力もできない、いわんやマクロなど無理。
で、提案ですが・・・
そのエクセルファイルを開いたら、メニューバーの「ウィンドウ(W)」をクリック→リストから「新しいウィンドウを開く」をクリックして、この操作を5~6回して多くのウィンドウを開きます。
次にメニューバーの「ウィンドウ(W)」→「整列」をクリック→「ウィンドウの整列」画面で、「上下に並べて表示」をチェックし、さらに「作業中のブックのウィンドウを整列する」もチェックを入れます。「OK」ボタンを押すと同じエクセルファイルが横に細長く表示されます。ここでそれぞれのウィンドウのシート名を適宜表示を変えれば、シート名が一覧できるはずです。
この方法で探したい「シート名」が素早く発見しやすくなるかも・・・です。
目的の「シート名」探せたら、「最大化」ボタンでそのウィンドウを最大化して【商品の在庫数】を確認できます。
表示するウィンドウ数はそちらの環境に合わせてください。でわでわ?????

この回答への補足

どうも、お返事遅くなりました。
ご回答の方法。。。やってみましたがイマイチ意味が・・・(^_^;)
すみません。
でも、セルの検索のように、シートの検索もワンタッチでできる方法を探しているのですが・・・・・・。
やっぱりムリかなぁ・・・。

補足日時:2003/11/02 10:45
    • good
    • 0

#1です


既存の機能や標準ツールではできないと思うので
マクロでよければ・・・ですが・・・
以下のコードをVBAマクロの標準モジュールにコピペし、マクロを実行してください。

Sub Macro1()
Dim i As Integer
Dim CntSheet As Integer
Dim strSheetName As String

strSheetName = ThisWorkbook.ActiveSheet.Range("A1").Value
CntSheet = ThisWorkbook.Sheets.Count

For i = 1 To CntSheet
If strSheetName = ThisWorkbook.Sheets(i).Name Then
ThisWorkbook.Sheets(strSheetName).Activate
Exit Sub
End If
Next i
End Sub

手順
(1)ExcelのBookを開く
(2)任意のシートのセル番地”A1”に検索したい「Sheetの名前」を入力します。
「ツール」「マクロ」でマクロ画面を開く
(3)「Macro1」を実行

ソースコードの
「strSheetName = ThisWorkbook.ActiveSheet.Range("A1").Value」の("A1")の記述を変えれば任意のセルへの検索文字入力を設定できます。
以上、いかがでしょうか?

この回答への補足

たびたびありがとうございます。
でもでも・・・ちょっとムリですぅ~(><)
そもそも、そのデータ、というのが、
商品の在庫数を記載したものなんです。
で、1つのシートに1つの商品の在庫数が店舗ごとに一覧表になってて、それが何十シートとなって保存されているんです。
しかも、担当者にロックされているので、好きにいじれないし、でもでも、TELで在庫の問い合わせがあった時に瞬時に答えないといけないし・・・
という感じなんです・・・。(ーー;)
やっぱムリなんでしょうかぁ・・・。

補足日時:2003/10/31 20:54
    • good
    • 0

例えば、Sheet1~Sheet3までの全シートを検索対称にするには、Sheet1をクリックし、「Shift」キーを押しながらSheet3をクリックするとSheetがグループ化されます。

この状態で「検索」で、検索文字列を入力し「次を検索実行」で洗濯したすべてのSheetが検索対象になります。

この回答への補足

早速ご回答いただきましたが、複数あるシートの中の
セルの文字列を検索したいのではなく、例えば、sheet1~sheet3まであるとすると、「sheet1」というシートの見出し自体の文字を検索したいのです。よろしくお願いいたします。

補足日時:2003/10/31 16:36
    • good
    • 0

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