• ベストアンサー

エクセル 複数のブックのなかから 特定のシート名を

宜しくお願い致します Excel for Microsoft 365を使っています 複数のブックのなかから 特定のシートを探したいのですが ひとつずつブックを開いて 目的のシートを探す方法は すぐ見つかりましたが、フォルダに100余りのエクセルファイルがあり、そのなかから特定の名称のタブ すなわちシートを探したいのですが そのための方法もしくは アプリを 御存じの方 御教示くださいませ windows10使用しています

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.2

マクロを書いてみました。 添付画像のように、C2セルに探したいシート名を埋め 後記マクロを書き込んだマクロブックを 検索したいフォルダーに配置し メインマクロを実行してください。 配置したフォルダー、更のその下階層のフォルダー、 更にその下階層のフォルダー...と、 全ての下階層のフォルダーにある.xlsxのファイルのシート名のすべてをを調べ ヒットするとメッセージを表示します。 '//---------- シートを探すメインマクロ Sub sample()  GetFileName ThisWorkbook.Path, Range("C2").Text End Sub '//---全てのフォルダー内のエクセルブックを総当たり Sub GetFileName(strPath As String, ShName As String)  Dim tSfo As Object  Dim tGf As Object  Dim tFi As Object  Dim tSub As Object    Set tSfo = CreateObject("Scripting.FileSystemObject")  Set tGf = tSfo.GetFolder(strPath)  For Each tFi In tGf.Files   If Right(tFi.Name, 5) = ".xlsx" Then    ShSearch tFi.Path, ShName   End If  Next  For Each tSub In tGf.SubFolders   GetFileName tSub.Path, ShName  Next   End Sub '//---------- シートを探すサブルーチン Sub ShSearch(BookPath As String, SearchName As String)    Dim tgBook As Workbook  Dim i As Long    Set tgBook = Workbooks.Open(Filename:=BookPath)  For i = 1 To tgBook.Sheets.Count   If tgBook.Sheets(i).Name = SearchName Then    MsgBox "シート発見 path::" & BookPath   End If  Next i  tgBook.Close End Sub

sushidokei
質問者

お礼

ご丁寧な、ご回答、誠に有り難うございました

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

>特定のシートを探したい コンピュターを使う人らしからぬ、あいまいな質問表現だと思う。 そもそも、ブック名(ファイル名)以外は、そのものを開かずしても読める、まとめた情報を記録したところなど無いはず。 だからブックを、所定の操作で実際開かないと、シート(名さえ)の存在もわからないでしょう。VBAと言うのは、人間の操作でできることを、コード(スクリプト)でやらせるだけ。 エクセルのインサイダー情報まで詳しい、MSなどの人、互換ソフト開発者は、シート名一覧がどこをどう見ればよいか知っているだろうが、そんなの問題にもできない。 (1)本質問ではその中のシート名(その文字列を指定して)を基に、そのシートの存在確認をしたいのか、 (1’) またはそのシートを開くのか。シート名で選別して提供してほしいとか。 (2)さらにシートの中にある文字列などが存在する、セルや、その前後の文字列まで知りたいのか。 (1)か(2)か質問で、はっきりさせること。 どちらにしても、人間の手操作では、ブックの数が多く、手間がかかるという予想なのだろう。 そうしたら、こんなのは、エクセル関数ではできないので、VBAでやるしかないのは当たり前。 そして、1ブック及びシートを、1つ1つ当たらないといけないので、処理時間が掛かる。 ーー VBAを組めるといっても、OKWAVEを見ている普通の人は、そんなに熟達しているわけでないと思うから、 ForEachなどでブック、シートを総なめチェックをするぐらいだろう。これなら少しWEBを調べれば、コードが載っている。 それで対応できないことなら、フリーなりの出来合いソフトがあれば、それなりに技量のある人が作っている可能性がある。 == この作業をして、役立てる、用途(目的)を質問に書けば、相当、回答方針の助けになるはず。 しかし過去の経験から、ここの質問者はそれをほとんどしない。だから、ほんとに回答が正しい方向か判らない。 ーー Googleなどにやらせたら、どこ(文書、ブック(シート)、WEB記事など)に何があるというインデックス的情報を作ることは出来るだろうが、従事する人のスキルと使うコスト(資源)が違う。でも、そういうのを見せられると、「私にでもできそう」と思いがちだが、その辺(素人+αができることか)の見極めが大切。 == Googleで「ブック内のデータを検索する」でWEB記事を照会し、出てくる記事を 二三読んで、質問を考えなおすことだと思う。

sushidokei
質問者

お礼

有り難うございました

  • kon555
  • ベストアンサー率52% (1749/3354)
回答No.1

 vbaで対応するしかないと思います。下記のページがまさにそのようなコードを公開していますので、ご覧下さい。 https://excel.kuuneruch.com/excel-sheet-list/

sushidokei
質問者

お礼

有り難うございました

関連するQ&A

  • 複数あるブックの特定シートの特定範囲を1つにしたい

    EXCEL2010を使用しています。 あるフォルダに格納されている複数のブックの、特定シートを、1つのシートにまとめたいです。 複数のブックの作りは同じです。 1つのブックに、複数シートがあり、"(配置)"というシートだけを、新規のシートにまとめたいです。 <今ある各ブック> ファイル名は、2014年度特定措置_●●.xlsで、●●だけ、ブック名が違います。 シート名が"(配置)"です。 c3セルに部署名が入っています。 b4セルからe10セルまで数式が入っています。 <行いたいこと> 新規のシートのa列に、各ブックにあるc3セルの部署名を持ってきたい。 b列からe列に、各ブックにあるb4セルからe10セルまでの数式を値張りし、取り込みたい。 以上です。 つたない説明で恐縮ですが、大変困っております。 どうか、ご回答の程、どうぞよろしくお願いいたします。

  • 複数のエクセルブックから特定シートの特定セル抽出

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル値を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 よく似ている質問、回答を読んだのですが、私のレベルではとても応用できず質問させていただきます。 【前提】 ・実行する端末のOSはWindows XP(SP3)、Excelは2003 ・対象フォルダはネットワーク接続フォルダ「\データ解析\データ」  この中に、複数のExcelブックがあります。 ・抽出したい対象は、各ブック内のシート(シート名はファイル名と同じ)の「BO6からBW16までの□の範囲」で統一されています。 【抽出一覧作成イメージ】 ・「集計.xls」ブックの「Sheet1」の2行目から抽出した結果を一覧表示する。 ・表示はA列に抽出元ブック名(=ファイル名)、B列に抽出元BO6セルの値。以降,C列・D列と 順に値を入れていきたい。 ・BO6~BW16までのセル値を「集計.xls」ブックの「Sheet1」に貼り付ける際には「値で貼り付ける」が望ましい。 というようなイメージです。 とても勝手なお願いではありますが、宜しくお願いいたします。

  • エクセル‐‐‐同一のブックの複数のシートを同じエクセルのウィンドウの中に表示させたいのですが。。。

    Excel2000です。 エクセルの1つのブックの中に複数のシートがあるときに、 エクセルの1つのウィンドウの中に、その同一のブックの複数のシートを同時に表示させたいのですが、 どうすればよいでしょうか。 (?_?) もちろん、エクセルの1つのウィンドウの中に、同一のブックを二つ以上表示できれば、上記のことは可能ですが、 そのやり方もわかりません。

  • 複数のExcelブックから特定シートの特定セル抽出

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル値を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 よく似ている質問、回答を読んだのですが、私のレベルではとても応用できず質問させていただきます。 全く同じものがあれば、そのアドレスを回答いただくだけでも助かります。 【前提】 ・実行する端末のOSはWindows XP(SP3)、Excelは2003 ・対象フォルダはネットワーク接続フォルダ「\\share\target」  この中に、複数のExcelブックがあります。 ・抽出したい対象は、各ブック内の「概要」シートの「C3」セルで統一されています。 【抽出一覧作成イメージ】 ・「集約.xls」ブックの「Sheet1」の2行目から抽出した結果を一覧表示する。 ・表示はA列に抽出元ブック名(=ファイル名)、B列に抽出元C3セルの値。 ・C3セル値を「集約.xls」ブックの「Sheet1」に貼り付ける際には「値で貼り付ける」が望ましい。 というようなイメージです。 とても勝手なお願いではありますが、宜しくお願いいたします。

  • 複数のExcelブックから特定シートのセル範囲抽出

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル範囲を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 このサイトで殆どよく似た回答を読んだのですがうまくいきません。VBA初心者です。 よろしくお願いします。 【前提】 ・実行する端末のOSはWindows 10 ExcelはOffice365 ProPlus ・対象フォルダはネットワーク接続フォルダ  この中に、複数のExcelブック(xlsx、xlsm)があります。 ・抽出したい対象は、各ブック内の「台帳」シートの「A3:Cの最終行」で  複数のブックの中には「台帳」シートが含まれていないブックも混在しています。 【抽出一覧作成イメージ】 ・「集約.xlsm」ブックの「集計」シートの2行目から抽出した結果を一覧表示する。 ・「集約.xlsm」ブックにマクロは登録する ・表示はA列に抽出元ブック名(=ファイル名)、B列からD列に抽出元「A3:Cの最終行」セルの値。 ・「A3:Cの最終行」セルの値を「集約.xlsm」ブックの「集計」に貼り付ける際には「値で貼り付ける」が望ましい。

  • 【Excel 2003】複数のブックのシートを一つのブックにコピーにしたい

    お世話になっております。 【Excel 2003】を使っております。 複数のブックには、複数のシートがありまして、 複数のシートを一つのブックにコピーしたいのですが、 手作業ですと、大変時間がかかります。 現在は、一つ一つブックをあけて、シートのコピーで 一つの新しいブックにいれてます。 なにか、これを簡単にできる方法は、ありませんでしょうか? フリーのソフトでも、マクロでも、教えていただけたら 助かります。よろしくお願いします。

  • 複数ブックの特定のセルを合計したいです

    中を見ていただき、ありがとうございます。 似たような質問・ご回答があるのは重々承知しておりますが できるだけシンプルなコードを教えていただきたく、質問させていただきました。 さて、いま1つのフォルダ内に,複数のブック(ファイル)が入っています。 すべてのブックはExcel2007で作成しており、目的の作業もExcel2007で行いたいです。 なお、それぞれのブックの名前に規則性はありません。 ブックの中身は統一されており、1ブック1シート、シート名は Sheet1 です。 このシートのB4からP4(横一列15個のセル)には、画像上段のように数値が入っています。 ここでやりたいのは、すべてのブックに入っているそれらの数値を平均して、 別に用意しておいた集計用のブックの同一セル(B4からP4)に入れるという作業です。 ブックを結合してから串刺し演算をしても良いのですが、できればマクロ一発で しかもできるだけシンプルなコードで以上を実現できれば嬉しいです。 過不足等ございましたら補足させて頂きますので、どうかお知恵をお貸しください。

  • 複数のエクセルブックをひとつのブックにまとめる方法

    同一フォルダに複数のエクセルブック(100個以上)が入っています。 その中のSheet1だけ(Sheet1~3まですべてのブックにあります)を一つのエクセルにまとめたいです。 ブックの中にSheet1、Sheet1(1)、Sheet1(2)・・・ みたいになればいいです。 Sheet名がブック名になるのが理想ですが。。 どのようにすればよろしいでしょうか?

  • フォルダ内の特定ブックだけを1つのブックにまとめる

    はじめましてマクロ超初心者です。 会社のシステム(ツール?)で同じフォルダに1案件につき2つのブックが作成されます。 毎回約30案件、すなわち同じフォルダに60ブックあります。 (1)同じフルダ内に60ブック (2)その内、同じ案件が2つ。ブック名「1_****」と「2_****」 ****は毎回かわる (3)ブックには2つのシート。シート名「1」と「2」 (4)ブック「1_****」のシート「1」が開いた状態、ブック「2_****」のシート「2」が開いた状態になってる (5)必要なのはブック「1_****」のシート「1」とブック「2_****」のシート「2」 この「1_****」のシート「1」と「2_****」シート「2」を「1_****」にまとめる作業を毎回手作業でやっています。これをなんとかマクロで出来ないでしょうか?同じフォルダにある複数ブックをまとめるマクロは見つけました、複数=全てのブックに実行されてしまいます。フォルダ内の特定のブックをまとめるマクロがみつからず。。。どなたかご教授して頂けませんか?

  • エクセルの複数ブックをまとめて印刷したい

    お世話になります。 早速ですが、フォルダ内に複数のエクセルブックがあります。それらのブックには複数のシートがあります。 フォルダー内の複数のブックの複数のシートも含むものを一括印刷したいのですが可能でしょうか? フォルダー内を一括選択し、ファイルの印刷をした場合、 複数のブックを印刷することは可能なのですが、それらにあるはずの複数のシートが印刷されません。 「複数のブックの全てのシートも含むものを一括印刷」したいのですができるでしょうか? よろしくおねがいします。

専門家に質問してみよう