• ベストアンサー

複数のXLSファイルのうち、特定のセルだけに注目して文字列を検索したい

複数あるExcelファイルの中から、特定の文字列が存在するファイルを検索して、そのファイル名を取得するというマクロを作成しています。 この検索時、検索するのはファイル全体ではなく、1シート目のこのセルというのを明示したいのですが、そのような方法はありますでしょうか? また、ファイルを明示的に開かないようにもしたいです。 簡単になら、FileSearchがありますが、これはどうやらフォルダまでは指定できますが、セルの場所までは指定できないみたいです。 ファイルをオープンにすると、可能でしょうけどそうなると処理が重くなりそうです。 また、ファイル全体を検索すると、いくつもの単語が引っかかる可能性があるので不可能です。 各単語を配列に格納して、どの単語と一致するのか調べ、一致した場合そのファイルと検索単語の配列が、同じ番号になるようにソートする、方法となります。 どのような関数を使ったら可能なのか、ヒントだけでもお教えいただけないでしょうか。 よろしくお願い致します。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>ファイルをオープンにすると、可能でしょうけどそうなると処理が重くなりそうです。 ファイルの1シート目のこのセルの値を読み取るということは、ファイルをオープンしているのと同じです。

ikazuti
質問者

お礼

ありがとうございます。何とかなりました。 こちらの説明がおかしかったようです。ようは、セル内の処理が目まぐるしくて鬱陶しいので隠したいと思っていたのです。 何とか、見えなくする事に成功しました。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

関数は無いと思います・・・。 ただし、シートに式を入れると簡単に参照できます。 ='C:\path\[Excel01.xls]Sheet1'!$F$6

ikazuti
質問者

お礼

ありがとうございます。何とかなりました。

関連するQ&A

  • 文字列検索しセルの位置が知りたい

    指定範囲内で文字列を検索し、見つかったセルの行番号、列番号を知りたいのです。 マクロでなく関数で出来るでしょうか?

  • ファイルから文字列を読み込んで、検索するプログラム

    以下のようなプログラムをつくりたいのですが、 どうしたらよいでしょうか?? 文字列を配列型に入れるときにわからなくなって しまうのですが。。。 ファイルからデータを順番に読み込み,メモリ上に一次元配列構造に並べて線形探索するプログラムを作成せよ. データの仕様 一行に、 「番号(スペース)読み仮名(スペース)文字列(住所)」 があり、これが10~1000行ほど、ファイルに(.dat) 入っている。 ファイルを配列に読み込んだあと、 番号を入力すると、住所が検索されてでてくる。 問題文も微妙なのですが、 これは番号の配列と住所の配列は別にして、 検索したほうがいいですよね、、? 何かヒントになることだけでも良いので、 よろしくお願いします!

  • エクセルで、複数のファイルの特定のセルの内容を、ファイルを開かず検索したい

    エクセルのマクロについての質問です。 見積書の一覧表のC列に記入されている見積書番号をダブルクリックすると、 フォルダに入っているファイルの中から、N1セルに同じ見積書番号が入っている ファイルを探し出して開く、というマクロを作成したいと思っています。 ダブルクリックするとアクションを起こすという部分と、 フォルダ内のエクセルファイルのアドレスを取得する部分はできたのですが、 ファイルを開かずに特定のセルを検索する方法がわかりません。 探す範囲のフォルダにはサブフォルダがいくつかあります。 また、見積書のブックのシート数は決まっておらず、 ブック名もシート名もばらばらで規則性はありません。 使用しているのはWINDOWS98SE,EXCEL97です。 ご存知の方、よろしくお願いします。

  • セルをダブルクリックすると、不特定のフォルダ内にある、セルの値を含む名前のファイルが開くマクロを教えて下さい。

    マクロ初心者です。 いろいろ検索してみましたが、見つけられなかったので教えて下さい。 セルをダブルクリックすると、そのセルの値を含むファイルが開くようにしたいのですが、ファイル名はセルの値と完全に一致してはいません。但し、必ずセルの値でファイル名は始まります。 例: セルの値="A"    開きたいファイル名は=  "AA 12345987.xls"とか"BCBB 657.xls 開きたいファイルは、C:\ww\001、C:\ww\022、C:\ww\303、、、いずれかのフォルダ内にあります。 C:\wwまでは同じです。 Private Sub Worksheet_BeforeDoubleClick _ (ByVal Target As Range, Cancel As Boolean) を使って、特定フォルダ内にある、セルの値と完全に一致する名前のファイルを開く方法は、検索をくりかえして見つけることができました。 ファイルが存在するパスを特定できず、 ファイル名が、セルの値と完全には一致していないファイルを自動的に開く方法がありましたら、教えて下さい。お願いします。

  • VBAで2次元配列を使ってセル検索がしたいです。

    VBAを使って開発をしています。 セル検索なのですが、検索範囲のセルに対し、 C言語のような配列を作って格納してまず1列検索し、 対象が見つかったらアクションを起こして、 次の行へ移ってまた検索…を繰り返すということが したいです。 しかし範囲指定でRangeを使う場合、 "A1:A12"と指定しなければならないようで、 これでは固定入力になってしまい、"A1:A12"の次に "B1:B12"、"C1:C12"…と検索を続けられなさそうです。 なにかいい方法はないものでしょうか?

  • VBA マクロ セルと同じファイル名を選びたい

    Excelでマクロを組んでいます。 以下のような場合にどのように組めばいいのか、悩んでいます。 是非、ヒントを下さい。 Excelファイル「book1」でマクロを組んでいるとします。 1)book1のセルA1に入力されている文字列と同じファイル名のbookを選択できないか 2)セルA1から順にA2、A3、A4と文字列の入力がないセルまで自動的にセル番地を横へおくり、1)の操作を繰り返すことができないか ちなみに検索対象となるbookはすべて同じフォルダの中に格納されています。 よろしくお願いします。

  • ファイル名に特定の文字列を含むファイルを開きたい

    セルに「abc」という文字列があります。 このセルをダブルクリックすると、特定のフォルダ内にある abcを含むファイル(たとえば090507 abc)を開く というようなことをしたいのですが、どのようにしたらよいでしょうか。 対象セルはA列です。 たとえばA2に「abc」とあれば、A2をダブルクリックすると 特定フォルダ内のabcをファイル名に含むファイルを開く A3に「xyz」とあれば、A3をダブルクリックすると 特定フォルダ内のxyzをファイル名に含むファイルを開く といった具合です。 文字列の指定はダブルクリック以外の方法でも構いません。 知識がないものでどのようにしたらよいかわかりません。 どなたかお詳しい方、どうぞよろしくお願い致します。 (ごく簡単なマクロの知識はあります)

  • 複数の候補列から、検索値と一致するものの隣セルを反映したい

    エクセルにて、検索範囲中、複数の列を候補として、検索値と一致するセルの隣のセルを表示させたいのですが、うまくいきません。 そもそもは、VLOOKUPでやろうとしたのですが、VLOOKUPだと、範囲指定において検索値との一致候補は一番左の列に来ていなければいけないのでしょうか? INDEX,MATCHも調べたのですが、自力では成功に至りませんでした。 どなたか、ご指導いただけるとありがたく存じます。よろしくお願い致します。

  • HTMLファイル内の文字列検索

    はじめて質問させていただきます,kokko1719です. 今,ExcelVBAを使ってツールを作成しています. その中で,フォルダ内にある複数のHTMLファイルから特定の文字列を検索し,抽出するコードを作成したいのですが,うまくいきません. 使っているExcelが2007なのでFileSearchを使うことができません. 一応,再帰処理を実装してファイルを探索するところまでは出来ている…と思います.(特定のフォルダを探しに行って○個見つかりましたとメッセージは出ます) その後のファイルを開き検索,特定のシートに抽出することができません. 現在作成しているコードでは,検索条件が1つしかないのですが, 実際は,HTMLファイルで使用している画像ファイル名を検索して抽出したいので,条件も複数指定したいと思っています(jpg,gif,pdfなど). ExcelVBAを学び始めて日が浅いため作業が止まってしまっています.きっと調べ方も悪いのでしょうが…. どうか教えていただけましたら幸いです.

  • 複数のEXCELファイルの特定セルを別ファイルへコピーする

    EXCELで作った見積書のセル内容を自動的に集めて、見積り一覧表を作りたいなと考えています。 見積書は1見積り1ファイル(シートは複数ありますが1枚目のシートが対象)になっていて、 各ファイルの1枚目のシートの特定セル内容(日付、相手先、件名、金額など)を 見積り一覧表として作成したEXCELシートへ順次コピーしたく思います。 動作イメージは 1.見積り一覧表を開いてボタンを押す等してマクロを起動。 2.同一フォルダー内の自分を除く全EXCELファイルを順次開きセル内容を一覧表へコピー。 3.全てのEXCELファイルを処理したら終了・・・。 発展系として、 ・日付条件で対象EXCELファイルを絞り込む。 ・特定セルに値が入っていなかったら(関係ないEXCELファイル)スキップ。 あとは一覧表が出来た後のソートくらいでしょうか。 まずは基本的な「自動的に複数EXCELを開いて特定セル内容をコピーする」のヒントがほしく思います。 なお、自動処理対象としたいEXCEL見積りファイルは約500本ほどです。 関連情報等ご存知でしたらお教えください。 よろしくお願いいたします。

専門家に質問してみよう