• ベストアンサー

特定文字を含むシート名の一覧作成について

特定の文字を含むシート名を、別のエクセルファイルに一覧化したいのですが、方法をお教えください! ■質問の詳細 「A.xls」、「B.xls」、「C.xls」というファイルにはそれぞれ8つのシートがあるのですが、そのうち、”test”という文字を含むシート名だけ、「X.xls」という集計用ファイルの「sheet1」のCell(4,2)に一覧化したいのですが、エクセルマクロを使用して実施する方法をお教えいただけませんでしょうか。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

以下のマクロをX.xlsの標準モジュールに作ります。 Dim セル位置 As Long Sub Main() セル位置 = 2 '★自ブック内のSheet1のセルをクリア(コード略) Proc "A.xls" Proc "B.xls" Proc "C.xls" End Main Sub Proc(ByVal パス名 As String) Dim ブック As Workbook Dim シート As WorkSheet Dim 名前 As String Set ブック = Workbooks.Open(パス名) '★エラーハンドリング省略 For Each シート In ブック.WorkSheets   名前 = シート.Name   If Instr(名前, "test") > 0 Then     ThisWorkbook.Sheet1.Cells(4, セル位置) = 名前     セル位置 = セル位置 + 1   End If Next ブック.Close End Sub あとはMainを実行するだけ。

ilan2a
質問者

お礼

早速のご回答ありがとうございました。 細かい修正はありましたが、ほぼご教授頂いたとおりで希望通りの動きができました!ありがとうございました。 

その他の回答 (1)

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

(1)ブック名のブックを開く。 (2)各シート名は Sub test02() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets MsgBox sh.Name Next End Sub で捕まえられる。 (3)文字列を含むは、INSTR関数で見つけられる。 エクセル関数のFindやCountifも使えそうだが、見つからなかったときの処理が難しい。 Sub test03() x = "adfghj" x = "yubhjk" On Error GoTo err1 p = WorksheetFunction.Find("bbh", x) MsgBox p Exit Sub On Error GoTo err1 err1: MsgBox "含まない" End Sub (4)含んでいるSh.Nameをシートのセルに書き出し次の行に書き込めるよう行ポンターを+1 (5)全シートを点検終わったらブックを閉じる。 次のブックを開くに移る。 (6)ブックが有るフォルダ内にありエクセルブックで対象外がないなら、VBSでフォルダの全ファイルを捕まえる方法あり、xls以外は対象にしないことも出来る。

ilan2a
質問者

お礼

希望どおりの処理ができました。ご返信ありがとうございました。

関連するQ&A

  • エクセル2007シート名一覧を出したい

    エクセルファイルのすべてのシート名の一覧を1枚目に新しく作成したい。 マクロ自体使った事がないので 出来れば簡単な方法が有れば 表紙としてシート名一覧を作成する。簡単な手順をお願いします。 枚数は約10枚程度です。

  • エクセル・マクロ・・・シート名の取得等

    エクセル・マクロ・・・シート名の取得等 エクセルのマクロで質問です。 ほぼ初心者です。 社内データの処理をしたいと考えています。 マクロを組みたいエクセルブックの構成としては・・・ シート名一覧 集計シート 操作 という3つのシートがあり、 その後ろに各社員のデータシートがあります。 山田太郎 田中花子 ・ ・ ・ 部署により社員数が異なるためシートの4枚目以降は そのエクセルファイルによりシート数が異なります。 やりたいことは以下の2点です。 (1)シート名(社員名)の取得 シート名一覧に各シート名を一行ずつ入れて 一覧を作りたいです。 シート名取得&リスト化のマクロは大体わかりますが、 「シート名一覧」、「集計シート」、「操作」の3つのシート名は 一覧から外したく、どうしたらいいのかわかりません。 また、各シート名を取得した列の横の列に 各社員のシートにあるデータの一部(セルC5:C8)を 貼り付けたいです。 (2)集計シートに各社員のシートのD列の情報(D6:D43)を順に貼り付けていく。 シート名や数が固定されたものであれば何とかできそうなのですが、 不特定になるとどうしたらよいかさっぱりわかりません。 どなたかご教授お願いいたします。

  • エクセル マクロで特定ファイル名だけを開く

    エクセルのマクロで 特定のファイル名だけをフォルダの中から探して 開くというものを作りたいのですが うまくできません。 フォルダを指定して 「060927.xls」というエクセルファイルだけを 開きたいのですが この日付のところが毎日変わるので 「06XXXX.xls」というような 最初が06であと4つの文字が入ってるファイル名だけを 流動的に指定できるようにするには どのようなVBAマクロにすればよいのでしょうか? とても困っています。 是非教えてください!宜しくお願いします。

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

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

  • VBA アクティブなセルのシート名を取得したい

    エクセル2010使用です。 VBAで、アクティブなセルのあるシート名を取得する方法を教えてください。  マクロ.xls (マクロシートA1) ←今回のマクロを書き込んだファイル  参照.xls (参照シートA1)  入力.xls (入力シートF3) この3つのエクセルファイルを開きます。 ( )内はそれぞれの前面にあるシート名と選択されたセルです。 入力シートのF3にカーソルをおいて下記マクロを実行すると   MsgBox ActiveSheet.Name & ActiveCell.Address 「マクロシート F3」と返されます・・・ ほしい結果は「入力シート F3」なんです。 このような場合にアクティブセルのあるシート名を取得する方法があれば教えてください。 よろしくお願いいたします。

  • 同フォルダ内の串刺し集計と文字列結合のマクロ作成

    同じフォルダ内に同じ形式のファイルがいくつかあり、ブック間で数値の串刺し集計と、文字列を結合して集計できるマクロの作成がしたいです。 フォルダ内には各所から送付されてくる同一フォーマット書類『(回答)**.xls』が多数あります。 「**」にはそれぞれの部署名が入っており、シート名は『回答』となっています。 各ファイルの『回答』シート F5~F32セルまでには数値が入力されています。 同じく各ファイルの『回答』シート G5~G32セルまでには文字列が入力されています。 これらを同一フォルダ内にある『集計ファイル.xls』の『集計』シートに集計をしたいのです。 F列は数値なので串刺し集計、G列はそれぞれバラバラの文字列のため「,」で区切って文字を結合をしたいと思っています。 (G列イメージ) あああ,XX,○△△,・・・ このようなマクロを同一フォルダ内にある『集計ファイル.xls』に作成することはできるのでしょうか? よろしくお願いいたします。

  • シート名について教えて下さい

    例えば・・・・マクロを実行すれば、 (1)エクセルブックの 沢山あるシートの一番前に、『シート名一覧』のシートを追加 (2)『シート名一覧』シートのA列に、全シート名を表示      A 1  シート名一覧 2   源語 3   文章作り 4   単語帳  5   担当 6   : 7   : (3)『シート名一覧』シートのA1から、シート名と連動(順番に) (4)例えば、A4『単語帳』を『四文字熟語』に変えると、最初から4番目のシート名が連動して変わる そのようなマクロを どうか教えて下さい! 宜しくお願いします。

  • EXCEL Sheet名指定

    いつもお世話になります。 EXCELにてFILE1.xls ⇒ Sheetが1日~31日まであります。 FILE2.xls からリンクして集計するのですが 式:サンプル ='[FILE1.xls]1日'!G7 上の式の1日の部分がSheet指定ですが、 例えば、FILE2のA1に1日と指定したら FILE1のSheetの1日にリンクさせる。 例えば、FILE2のA1に2日と指定したら FILE1のSheetの2日にリンクさせる。 FILE2のA1セルに指定した日にちによりSheet名を自動変動 させるにはどのようにすればよいのでしょうか? INDIRECT関数にて可能ですが、FILE1と2を同時に 開かないとREFエラーになるため、INDIRECT以外での方法を 教えて頂けたらと思います。 関数・マクロでも構いませんのでお願いいたします。 どなたか、ご教授下さい。

  • Excelマクロ シート名一覧からシート削除

    Excelマクロで質問させてください。 任意のシートに記載されたシート名一覧を参照して、そこに記載されているシート名のシートを、ブック内から削除するマクロは作れますでしょうか? よろしくお願いします。

  • エクセルのマクロでファイルのシート名一覧を取得したい

    特定フォルダ内にエクセルのファイルが複数あります。 エクセルのファイル名の取得は「Filesearch」を使い取得出来ました。 更にそのファイルの中にあるシート名を取得し、シート名の一覧を ワークシートに貼り付けたいと考えています。 よろしくご教授ください。

専門家に質問してみよう