• ベストアンサー

エクセル/Excel内の名前を検索

教えて下さい。 エクセルのあるシート内にある名前が別のシート内に同じ名前があるかどうかの検索をしたのですがどのようにやれば検索できますか? マクロとかを組まないとできませんか?その場合マクロを組めないので教えて頂けませんでしょうか? 何卒ご教授の程宜しくお願い申し上げます。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.4です! たびたびごめんなさい。 前回は画像がうまくアップできなかったようなので、もう一度画像だけトライしてみます。 ※ 今回もダメな場合のために・・・ Sheet1のA2セル以降のA列に検索したい名前を羅列しておきます。 Sheet2以降のA列に名前が入っているという前提です。 Sheet2以降のSheet名はどんなSheet名でも構いませんが、Sheet1のSheet名だけは 「Sheet1」としておいてください。 そうしないとエラーになります。 それでは画像を添付してみます。 何度も失礼しました。m(_ _)m

gon109
質問者

お礼

この前に頂いた回答内のマクロを是非やらせて頂きたいと思います。 イメージはこの通りです。Sheet 1にある名前が別の例えばSheet 2の中に膨大な数の人の名前中にあるかを見たく、その場合のSheet1の中の人の名前を知りたかったのです。 もし上手く行かない場合は再度質問させて頂きます。有難う御座いました。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! マクロの一例です。 ↓の画像のようにSheet1のA列2行目以降に検索したい名前を羅列しておきます。 Sheet2以降のA列に名前が入っているとして・・・ Alt+F11キー → 画面左の「This Workbook」をダブルクリック → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j, k, M As Long Dim ws As Worksheet Set ws = Worksheets("Sheet1") i = ws.Cells(Rows.Count, 1).End(xlUp).Row j = ws.UsedRange.Columns.Count Range(ws.Cells(2, 2), ws.Cells(i, j)).ClearContents For i = 2 To ws.Cells(Rows.Count, 1).End(xlUp).Row For k = 2 To Worksheets.Count If WorksheetFunction.CountIf(Worksheets(k).Columns(1), ws.Cells(i, 1)) Then M = WorksheetFunction.Match(ws.Cells(i, 1), Worksheets(k).Columns(1), False) ws.Cells(i, Columns.Count).End(xlToLeft).Offset(, 1) = _ Worksheets(k).Name & "の A" & M & " セルにあり" End If Next k Next i ws.Columns.AutoFit End Sub 'この行まで ※ 勝手にB列以降にSheet名とセル番地を表示させていますので、そこまで必要ない場合はごめんなさいね。 こんな感じではどうでしょうか?m(_ _)m

  • excelist
  • ベストアンサー率56% (13/23)
回答No.3

特定のセル範囲を定義するという意味の「名前」の場合、Ctrl + F3 で出てくるダイアログボックスを見るとある程度判別できると思います(重複しているものはシート名が表示される)。ただしシートによってはそれでは判別できないのでマクロで名前一覧を出す方がよいかと思います。 以下に参考ソースを載せますので、新規ブックに組み込んで「調べたい名前が定義されてあるブックをアクティブにした状態」で実行すれば新規ブック側に名前の一覧ができると思います。 Sub NameList() Dim n As Name Dim i As Long i = 1 For Each n In Names ThisWorkbook.Sheets(1).Cells(i, 1) = n.Name ThisWorkbook.Sheets(1).Cells(i, 2) = "'" & n.RefersTo i = i + 1 Next End Sub

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

検索したいデータが決まっているのでしたら「ホーム」タブの「検索と選択」から「検索」をクリックします。 表示される画面の「検索」のタブで検索する文字列の窓にデータを入力し、「オプション」をクリックします。 「検索の場所」では「ブック」を選択して「すべて検索」をクリックすれば下の窓にはそのデータが入力されているセルシート名やセル番地が表示されます。「次を検索」をクリックすればそれらのデータが入ったセルが次々に選択されます。

  • kuma56
  • ベストアンサー率31% (1423/4528)
回答No.1

シート内にある名前って、名前として入力されているデータの事かな?? ならば、COUNTIF関数などで出来そうだけど?? COUNTIF関数についてはヘルプファイルなどを参照してください。

関連するQ&A