• ベストアンサー

エクセルVBAにて

同フォルダ内に置かれた、複数のエクセルファイルにおいて、シート1のA列にかかれている最大値(数字)を取得し、まとめというファイル名のエクセルに配置(貼り付け)したいのですが、具体的なやり方がわかりません。 よろしければ教えてください。 お願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

まとめというファイル名のどのシートに転記するのか不明でしたのでとりあえずTOTALというシートのA1以降に転記するようにしてみました。 Sub Test() Application.ScreenUpdating = False fldPath = ThisWorkbook.Path & "\" fname = Dir(fldPath & "*.xls") '選択したフォルダ内のExcelファイルを検索します Do Until fname = Empty '全て検索し終えると、fname = Empty となるので、その間以下を実行します If fname <> ThisWorkbook.Name Then Workbooks.Open fldPath & fname '選択したファイルを開きます mx = Application.WorksheetFunction.Max(Sheets("Sheet1").Columns(1)) 'Sheet1の最大値を取得 n = n + 1 ThisWorkbook.Sheets("TOTAL").Cells(n, 1) = mx '最大値を転記 ActiveWorkbook.Close '閉じる End If fname = Dir '選択したフォルダ内の次のExcelファイルを検索します Loop '繰り返す Application.ScreenUpdating = True End Sub

shigure_mutsu
質問者

お礼

問題なく動作しました。 すばやい回答ありがとうございました。

関連するQ&A

  • VBAのDIR関数でファイル名「0005」などが「5」だけにならない様にするには?

    あるフォルダ内に有るファイル郡の名称をDir関数で取得してExcelのシートのA列に並べるマクロなんですが、0で始まる数字のファイル名の場合、セルには0が省かれて入ってしまいます。 0011なら0011とそのままセルに入れるには(文字列として入れるには?)、マクロはどう書けばいいんでしょうか? 

  • 複数のエクセルを一つに貼り付け

    複数のエクセルファイルを一つのエクセルファイルの中のシートに マクロを利用してデータを貼り付ける方法はありますでしょうか? 実績表というフォルダ内に、下記のエクセルファイルがあります。 ・貼付け元のエクセルファイル名:実績表+3桁数値 →10ファイル ・1つに集計したいエクセルファイル名:実績表  ※その中に、貼付け元のファイル名と同じシート名が10シートあります。 できれば、「値の貼付け」でなはく、数式も含めた状態のデータを貼付けしたい。 是非、マクロのコードを教えていただきたく、宜しくお願い致します。

  • Excel 2002 のピボットテーブル

    こんにちわ エクセル2002のピボットテーブルの値を 別のSheetなりにリンク貼り付けをしたいときに ”=”によって引っ張ってくることはできないのでしょうか。 複数のSheetの複数の繋がった列&行にリンク貼り付けを同時に行いたいのです。 エクセル2000では”=Sheet名!セル値番”でリンクできたのですが・・・。 ”GETPIVOTDATA”関数が自動的についてしまい 複数列、複数行の貼り付けができません。 どうにかこの”GETPIVOTDATA”をはずすことはできないでしょうか。 どなたか教えてください!

  • エクセルVBAでCSVを読み込んで別ファイルにまとめたいです。

    エクセルVBA初心者の者です。 マクロの記録でできたコードをいじって、 なんとか動くものができるレベルです。 Aというフォルダに20~40行程度の内容のCSVファイルが 数百個あります。開けてみないと何行あるのかわかりません。 そのAフォルダのCSVの内容をエクセルで開いて、別のエクセルファイルの一枚のシートにまとめたいのです。 最初にCSVファイル名を一枚のシートのA列に書き出すところ まではやれたのですが、それを順番に読み込んでコピペの 流れができません。 CSVファイル名読み込み 読み込んだファイル1つめCSV開く CSVの20~40行をコピー 別のエクセルファイルのシートに貼り付け 1つめCSV閉じる ↓ 読み込んだファイル2つめCSV開く 繰り返し こういうやり方じゃない方がいいのかもわかりません。 もしかして考え方も違うのでしょうか? サンプルコード教えていただけるとありがたいです。 よろしくお願いします。

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

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

  • 【VBA】フォルダ内の複数Excelのセルをコピー

    お世話になります。 初級者ですが、Excel 2002のVBAについてご質問をさせて頂きます。 【概要】  あるフォルダ内にある複数のExcelファイルの、特定のセルを  1つのExcelファイルに集約します。 【詳細】  1.あるフォルダ内に複数のExcelファイルがあります。Excelファイルの数は、その日によって   ことなります。  2.選択画面から、この複数のExcelファイルを選択し、選択したExcelファイルの   それぞれの「A1セル」「B1セル」「C1セル」を、「1つのExcelファイル」に張り付けます。  3.「貼り付け」→「次の列へ移動」→「貼り付け」→「次の列へ移動」というサイクルを、   選択したExcelファイルの数だけ繰り返します。  4.集約したExcelファイルのイメージは以下のとおりです。        A列 B列 C列 D列 E列 F列 G列 H列  。。。。   1行目 A1 A1 A1 A1 A1 A1 A1 A1 。。。。   2行目 B1 B1 B1 B1 B1 B1 B1 B1 。。。。   3行目 C1 C1 C1 C1 C1 C1 C1 C1 。。。。 教えて!gooの回答で、「複数のシートを、1つのExcelファイルに集約する」ものがあったので、 それを参考にしようとしましたが、僕の実力ではできませんでした。 ご助言を頂けると非常に助かります。よろしくお願いします。

  • VBAを使い、同一フォルダにあるファイルの特定のシートの情報を取得したい

    はじめまして。 書籍や過去の質問等を調べましたが、類似するものを見つけられなかったため質問させていただきます。 Xというエクセルファイルで、Xと同一フォルダ内にある、ファイル名に特定の文字列(例えば「月報」)を含んだ全てのエクセルファイルの、特定の文字列(例えば「○年○月」)を含んだ全シートの、一定のセル範囲をひとつのシートにまとめたいと思っています。 X内のコマンドボタンで動かす予定ですが、複数のボタンになると自分では思っています(ボタンAでファイル名の取得、ボタンBでシートの取得、ボタンCでセルに貼り付け、みたいな感じで。ボタンの数は特に制限はないです) 要点としては a, 定定の文字列を含んだファイル名の取得 b, aで取得したファイル内の特定の文字列を含んだ全てのシート内の一定のセル範囲の取得(シートの数はファイルによる。必ずしも1つというわけではない。) c. bで取得した一定のセル範囲のデータを、1つのシートにまとめる。 あとはこれらのデータをtxtやcsvなどに出力できるようにするつもりです。 私がやってできたのは、同一フォルダ内にあるファイル名に特定の文字列を含むファイルの全てのファイル名を指定したセルに吐き出すことしかできませんでした。 なんか、ややこしい表現かもしれませんが、ご指導お願いします。 環境はxp、エクセル2003です。 よろしくお願いします。

  • 複数のシートのデータをひとつのシートに纏める

    EXCELにおいて、複数のシートのA列のデータをひとつのシートにまとめるにはどのようなマクロを組めばよいのでしょうか。 (内容) ”Cycle1”SheetのA列をコピー⇒”まとめ”SheetのA列に貼り付け ⇒”Cycle2”SheetのA列をコピー⇒”まとめ”SheetのB列に貼り付け ⇒”Cycle3”SheetのA列をコピー⇒”まとめ”SheetのC列に貼り付け ⇒”Cycle4”SheetのA列をコピー⇒”まとめ”SheetのD列に貼り付け ・・・。 現在は、上記の内容を手動でやっており、シート数が多い場合大変です。 よろしくお願いします。

  • Excel VBA ファイルをまとめる

    Excel2003にてフォルダにある複数ファイル(8個)の各1番左のシートを 指定したファイルにまとめるVBAを組みたいと思います。 まとめる際、ファイル名の一部を取得し、シート名にしたいのですが可能でしょうか? 例: ファイル名:20110927_△△△△株式会社.xls ⇒ シート名:△△△△株式会社 ※ファイルの個数は固定ですが、年月の部分は変わります。 簡単なVBAの経験しかなく、キーワード検索でもしっくりこないものばかりで どのようにコードを記述してよいのか非常に困っています。

  • エクセルVBAで困ってます。

    エクセルVBAで困っています。 データ入力済みのシートが2つあります。 シート名を「Sheet1」「Sheet2」とします。 「Sheet1」のA列のデータが「Sheet2」のA列のデータと一致した時に それぞれのシートのセル番地を取得したいのですが出来ません。 教えて下さい。 データの並び順は「Sheet1」と「Sheet2」で異なります。