エクセル2013でファイルを一つにまとめる方法

このQ&Aのポイント
  • エクセル2013を使用して、複数のファイルを一つにまとめる方法について教えてください。
  • 31個のBOOKを含む一つのファイルを作成し、各BOOKのデータをそれぞれの日付のシートに貼り付けたいです。また、計算式が入ったデータを値にして貼り付ける方法も教えてください。
  • 急いでいるため、既出の質問かもしれませんが、お教えいただけると助かります。
回答を見る
  • ベストアンサー

同一ファイルにある複数の一つにまとめる方法

エクセル2013を使用しています。 既出の質問かもしれませんが調べている時間があまりないため、 どなたかご教授いただけますでしょうか。 こんなことが可能かどうかはわからないのですが、ご回答いただけると幸いです。 一つのファイルの中に、毎日集計をとっている31個のBOOKが入っています。 ファイル名は、「2014.07.01大阪(1)」、「2014.07.02大阪(1)」というように31種類の日付で作成をしてあり合計で31つあります。 集計というBOOKをつくっておき、ここに32個のシートを作成します。 シート名は「2014.07.01」「2014.07.02」と日付を続け、一番最初には「集計」シートがあります。 作りたいマクロが、 2014.07.01大阪(1)のデータは2014.07.01のシートに 2014.07.02大阪(1)のデータは2014.07.02のシートに これを31日分、シート全体を貼り付けたいのです。 各BOOKにはシートが複数あり、Sheet1のみ貼り付けたいです。 なおかつ、計算式が入っているため、値にして貼り付けれれば理想的です。 よろしくお願いいたします。 わかりにくいかもしれませんが、よろしくお願いいたします。

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

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.7

シート名デイリー(1)の中でセルの結合を使っている場合こっちを使ってください。 まず集計ブックを名前をつけて保存して下さい。集計2などなんでもいいです。 シート名1~31を削除してください。 こちらはシートをコピーしてから値を貼り付けているので、セルの結合を使っていてもエラーはでないと思います。 マクロが思い通りの動作をしたら基の集計ブックに上書き保存して下さい。 Dim myPpath As String, myMonth As String, myFile As String Dim INP As Integer Dim inpFile As Worksheet Sub Macro1() myPpath = ThisWorkbook.Path & "\" myMonth = InputBox("作成年月を入力して下さい。") For INP = 1 To 31 myFile = Dir$(myPpath & myMonth & "." & Format(INP, "00") & "*.xls") On Error GoTo Line: Workbooks.Open Filename:=myPpath & myFile Set inpFile = Workbooks(myFile).Worksheets(2) inpFile.Copy After:=Workbooks(ThisWorkbook.Name).Sheets(INP) Cells.Copy Cells.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False Workbooks(myFile).Close False Worksheets(Worksheets.Count).Name = myMonth & "." & Format(INP, "00") Range("A1").Select Next INP Line: Worksheets(1).Select End Sub

ASNASNASN
質問者

お礼

うまく作動しました。 ありがとうございます。 本当に助かりました。

その他の回答 (6)

  • mar00
  • ベストアンサー率36% (158/430)
回答No.6

>その場合は、 Set inpFile = Workbooks(myFile).Worksheets(1)を Set inpFile = Workbooks(myFile).Worksheets(2)にすればよいのでしょうか。 その通りです。 今になって気になってきたのですが、シート名デイリー(1)の中でセルの結合などは使っていないでしょうか。 使っていればエラーがでますので補足して下さい。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.5

>sheet1の名前は実際はデイリー(1)という名前でした。 sheet1という事だったので各ブックの1番前(1番左)にあると思ってマクロを作っています。 デイリー(1)という名前なら Set inpFile = Workbooks(myFile).Worksheets(1)を Set inpFile = Workbooks(myFile).Worksheets("デイリー(1)")に修正して下さい。 >教えてくださったものの名前を変更しようとしましたが、うまくいきません。 ご質問の内容ですと集計ブックには1番最初に集計という名前のシート、 次に2014.07.01、2014.07.02、・・・・2014.07.31まで名前のついたシートがあると思ったのですが。 2014.07.01→1、2014.07.02→2、・・・・2014.07.31→31とシート名を修正できませんでしょうか。 シートの名前の上で右クリック→名前の変更またはシートの名前の上でWクリックで変更できるようになると思います。

ASNASNASN
質問者

お礼

ありがとうございます。 シート名は2014.07.01→1などに変更しました。 ちなみに今回の対象のシートは左から2番目にすべてあります。 その場合は、 Set inpFile = Workbooks(myFile).Worksheets(1)を Set inpFile = Workbooks(myFile).Worksheets(2)にすればよいのでしょうか。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

回答No.3です。 "*.xlsx"は"*.xls"に修正して下さい。

ASNASNASN
質問者

お礼

ありがとうございます。 修正しましたがうまく動作しません。 教えていただいてから、ファイル名などは、自分で使用しているものに変更しようと思ってましたが それがいけなかったかもしれません。 集計のシート名は1.2.3というように変更いたしました。 31個あるブックの中のsheet1ではなく。(1)デイリーという名前でした。 これを元にお手数ですが、再度教えていただけますでしょうか。 よろしくお願いいたします。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.3

7月だけでなくこれから毎月作業を行うものとしてます。 まず集計ブックのシート名をすでに入力しているようですが1日は1、2日は2のように31まで修正して下さい。 7月だけしか作業を行わないのであれば修正しなくてもいいです。 毎月作業を行うのであれば、マクロを実行するとシート名も変わるようになっているので 9月や11月のように不要なシートが出てくる月もあるのでその時は削除するなりして下さい。 同一フォルダ内には名前の違うものは混在させないで下さい。 2014.08.01大阪(1)のような日付だけが違う名前のブックはOKですが、2014.07.01大阪(2)や 2014.07.15東京のように名前の違うものは同一フォルダにあると正しく動作しない可能性があります。 混在している場合は新しいフォルダをつくって対象とするブックと集計ブックを移動させてから 集計ブックからマクロを実行して下さい。(集計ブックと対象ブックが同一のフォルダにあればOKです。) マクロを実行するとインプットボックスが出てくるので、7月の場合は2014.07と入力して下さい。 Dim myPpath As String, myMonth As String, myFile As String Dim INP As Integer Dim inpFile As Worksheet Sub Macro1() myPpath = ThisWorkbook.Path & "\" myMonth = InputBox("作成年月を入力して下さい。") For INP = 1 To 31 myFile = Dir$(myPpath & myMonth & "." & Format(INP, "00") & "*.xlsx") On Error GoTo Line: Workbooks.Open Filename:=myPpath & myFile Set inpFile = Workbooks(myFile).Worksheets(1) inpFile.Cells.Copy Workbooks(ThisWorkbook.Name).Worksheets(INP + 1).Cells.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False Workbooks(myFile).Close False Worksheets(INP + 1).Name = myMonth & "." & Format(INP, "00") Next INP Line: Worksheets(1).Select End Sub ご希望通りの動作をするといいのですが。

ASNASNASN
質問者

お礼

ご回答ありがとうございます。 (1)は紛らわしいので消してしまいました。 sheet1の名前は実際はデイリー(1)という名前でした。 教えてくださったものの名前を変更しようとしましたが、うまくいきません。 聞いてばかりで申し訳ございませんが、よろしくお願いいたします。

回答No.2

http://www.forest.impress.co.jp/article/2006/06/26/excels.html こういった便利なツールを利用したほうが早いと思います。

回答No.1

マクロ組むにも少し時間がかかりそうですよ? 集計というブックは、質問者様が自分で作るのですか? それとも、VBAで作れれば良いという話でしょうか。

ASNASNASN
質問者

お礼

ありがとうございます。 VBA作ればよいという話でございます。 よろしくお願いいたします。

関連するQ&A

  • EXCEL複数のファイルから指定されたデータを抽

    初めて、マクロ初心者です。 お手数をおかけしますが、助けてください。 条件(1)同じフォルダに 約200個のエクセルファイルがあります。 名前はバラバラです。 管理表を作りたいため、200個をコピーするのも苦痛でしたので、簡単なマクロはありませんか? 条件(2)シートの作りはすべて同じです。それぞれ15個のシートがあります。(お客様のデータを管理しているため。) 同じデータの部分を抽出して、新しいExcelブックに集計したいです。 例えば、 ファイル名0001、シート1のA1のセルで記載されている「文字」もしくは「数字」を新しいブックののA1にコピーして、ファイル名をB1記入したい。 ファイル名0002、シート1のA2のセルで記載されている「文字」もしくは「数字」を新しいブックののA2にコピーして、ファイル名をB2記入したい。 コピーすることは出来るマクロを教えてください。 順番はなく、ファイル名と集計したい「データ」が一致であればOKです。 よろしくお願いします。

  • 複数ファイルを指定して取り込み、そのデータを集計してくれるマクロの作り

    複数ファイルを指定して取り込み、そのデータを集計してくれるマクロの作り方を教えてください! 初めての投稿なので、質問が分かりづらいかもしれませんが、ご容赦ください(>_<) その際は指摘してくだされば書き足します! マクロ初心者です。 今回、以下のような条件を可能にしてくれるマクロを作りたいです。 ・他ファイルから取り込んだシートを、作業中のブックに新しいシートとして追加する  (取り込む内容は数値が違うだけで、同じフォーマットのデータです) ・取り込むシートの数は場合によって異なるので、何枚でも追加できるようにしたい ・出来ればその追加したシートにそれぞれ名前をつけたい(データA,データBなど) ・追加されたシートのデータを最後に集計する  (例えば・・・追加されたデータAとデータBのセルA1を足した値を集計シートのA1セルに入れる) 雛形の枠があって、その中に別ファイルから取り込んだデータをコピーして、その枠の中に入れることはできたのですが、新しくシートをどんどん追加していくのができませんでした。 どうか、よろしくお願いしますm(__)m

  • Excel VBA 複数ブックのシート結合方法

    複数ブックの特定のシート(都度指定)のみを結合するマクロを組みたいです。 例えば、「ファイルマージ前」というフォルダがあって、その中には数値のみ違う同フォーマットのアンケート集計結果が保存されています。 このフォルダ内には50ほどのブックが保存されていて、そのブック内の「N表」というシート(50あるブック内全てに存在するシート)を新規ブック(マクロを組み込むブック)の1シートに上から順に値コピーしていきたいです。 今後、別の機会でファイルマージが必要になった際にも使用出来る様に、シート名を都度指定(セルにシート名を入力して、そのシート名を参照する等)出来るようにしたいのですが、自分の知識とネット等で調べた情報のみではうまく作成出来ませんでした。 詳しい方のお知恵をお借りしたいです。 宜しくお願い致します。

  • 複数のファイルに同様の処理

    複数のファイルに同様の処理 複数のエクセルファイル(ブック)があります。測定データを管理しているもので、どのファイルも同じ表、同じレイアウトが使われていて、表内の値などが違うだけになっています。 すべてのブックの表題を同じように変更したり、日付を同じように変更したりしたいのですが、何か良い方法はないでしょうか? 「一つのブックに複数のシート」で処理してやれば「作業グループ」で処理できることはわかっているのですが、ファイルの管理上複数のブックにしておく必要があります。 なので、一度「複数のブック」を「一つのブック、複数のシート」にまとめて、元に戻す、などといった処理をしてくれるようなソフトでもあれば・・・。とも思っているのですが。 マクロを自分で組む技量がありません。 何か良い方法がありましたら、ご教授ください。

  • excel 複数ファイルの変更を1度にする

    excelで生物学の実験結果を集計しています。 対象No1に対して実験をし、その日の結果をその日付の名前のシートに記録しています。対象はNo1.2.3.4.5、、とあります。対象各々に、ファイルがあり、そのファイルのsheet1がsumarryでsheet2 以降が日付のシートです。日付のシートには、実験結果の値を2、3、4、5、、、と入力し、その値の個数をSUBPRODUCT間数等でカウントしています。 シートに新たに、項目を追加して変更を加えた場合、膨大なファイルに同じように変更を加える方法は無いのでしょうか? 同一ファイルのシートならグループ化を行って、できるのですが、、、 マクロはあまり分からないですが、変更したシートをコピーして、別のファイルにペーストする手順を記録させて、ペーストするBookを変更して、いれてみてもうまく行きません。 良い方法は無いでしょうか?

  • エクセル 複数のファイルを別ファイルで集計

    年ファイルの月シートには日々データーが更新されます。 それを集計ファイルにてデーターを合計であったり平均等であったりとまとめたいです。 質問は日々更新され増殖する月シートであり、年ファイルを簡単に集計ファイルへリンク(このリンクの表現が正しいかは不明)させるかで思案しております。 希望としてはシートが増え、年ファイルが増えても集計ファイルへのリンクは簡単にしたいです。 集計は年ファイルを開かなくても集計して欲しいです。 この希望に叶う方法はありますでしょうか? またその方法は関数でしょうか、ピボットで可能でしょうか。 私的にはマクロはなんか違うような気がします。 VBAならば私にはちょっと酷です。できるだけ頑張りますが・・ とても困っていますので何卒アドバイスをお願いします。

  • 複数のブックを新しいブックのにまとめたい

    1つのフォルダに現在20のブックがあり、さらに今後200位まで増えます。 それぞれのブックはPS×××××××(xは数字)で名前がついてます。 全てのブックのシート1に、A2~L2にかけて数値・名前などが記述されてます。 これらを「集計ブック」と名づけたブックの1つのシートにまとめたいのです。 「集計ブック」へは、A2~L2にPS××××××0のデータを、A3~L3にPS××××××1 のデータを、とシートの末尾7桁の昇降順(数字の少ない方から下へ大きくなるように) に並べたいです。 PS×××××××を作成し、フォルダに保存するだけで、自動的に「集計ブック」に 集計されていくマクロを教えて下さい。 マクロ自体も素人なので、操作方法・手順なども付け加えてくれると助かります。 よろしくお願い致します。

  • 複数のエクセルファイルに対してマクロを順次実行する方法

    エクセルのマクロについて教えていただきたいです。 以下のような状況なのですが、アドバイスいただけないでしょうか。 ・同一フォルダに100個以上の同じ形式のエクセルファイルがある(ファイル名に規則性はなし) ・各ファイルは2つのシートから成り、そのうちの「データ」というシートに対して処理を適用したい ・適用したい処理のマクロは作成済み なお、適用したい処理というのは、「データ」シートからある値以上のデータの平均を別のエクセルファイル(これは1つのファイル)に記入するという作業で、値を読み込むだけで書き込むことはありません。 このマクロをフォルダ内の全てのエクセルファイルに対して実行したいのですが、可能であれば各エクセルファイルを開かずにマクロを実行したいのです。(100個を越えるファイルを開いたり閉じたりする動作を避けたい) マクロはしっかりと勉強したわけではなく、ネットから情報を集めつつなんとか作っているレベルで、特にファイルの読み書きがよく理解できていません・・・分かりやすいサイトなどがあればそれも教えていただきたいと思っています。 自分でも上手く説明できていないのはわかりますので、もし必要な情報がありましたら付け加えさせていただきます。 分かる方がいらっしゃいましたらどうぞよろしくお願いいたします。

  • 複数シート間の集計

    毎日シートを1個づつ増やし、シート名がその日の日付 (1日であれば1)としています。 月の末には1つのBook内には1~31のシートができることになります。 同じBook内に集計という名のシートを作り 1~31の集計をしたいんです。 ●1~31の各シートの内容は、      A      B       科目     金額 1 会議費    1000  2 福利厚生費  2500  3 会議費    1500 4 交通費    350 ●集計シート    A       B       科目     合計金額 1 会議費     2 福利厚生費    3 交通費 こんな風にできないでしょうか? お力かしてください(;´▽`A``    

  • excel マクロで特定シート名だけを変更させない

    今、ブックに"作業シート1"と"集計シート"があります。 "作業シート1"に貼り付けたデータから特定条件に合うものを集計シートへ抜き出し、作業日のシート名でグラフを作るマクロを作っています。 作っているマクロの中でシート名を指定していることが多いので、"作業シート1"と"集計シート"だけはシート名を保護したい(書き換えても元の名前にすぐ戻ったり、とか)のですが、どうすればいいでしょう? ブック全体の保護だと、シート追加は出来ないですよね

専門家に質問してみよう