参加します(^^)
新規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
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を選びます。
#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")の記述を変えれば任意のセルへの検索文字入力を設定できます。
以上、いかがでしょうか?
補足
ご答の方法だと、excelをひらいてから、さらに作業が必要となってしまうので、ムリだと思います~ (><)データはロックされていますし、 毎回読み取り専用で開かないといけませんので。 あくまで、セル検索=Ctrl+Fで・・・ というふうな具合で、シート名もワンタッチ探せる方法を探していますので・・・。