• 締切済み

マクロで複数シートを1つにまとめ、転記する方法を教えてください。

マクロ初心者のため、どなたかご教示ください。 EXCELで以下の3sheetあるアンケートを複数名(300人近く)に送りました。 sheet1 sheet2 sheet3 表紙  設問  設問2 (1)sheet2の設問のみ1つの集計専用のブックにまとめたいです (2)(1)でまとめたブックで、アンケート結果を回答ごとに振り分けたいです。 Aさんのアンケート   A   B   C 1 質問  回答A 回答B 2 質問1  1   △ 3 質問2  3   ○ 4 質問3  5   △     Bさんの回答   A   B   C 1 質問  回答A 回答B 2 質問1  1   ○ 3 質問2  5   ○ 4 質問3  5   △ 上記のアンケート内容を以下ように振り分けたいです。 回答A集計 A   B   C 1 質問  Aさん Bさん 2 質問1   1  1 3 質問2   3  5 4 質問3   5  5 回答B集計 A   B   C 1 質問  Aさん Bさん 2 質問1   △  ○ 3 質問2   ○  ○ 4 質問3   △  △ のように、質問項目は残したまま、回答A、Bを振り分けたいのですが、 何かいい方法はございますか?? 説明がへたで申し訳ございません。 よろしくお願いいたします! sheet3  

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

#1です。 コードを書いたブックに、開いたブックのSheet1をコピペするのは、質問のどの部分なのでしょう。 あと回答A集計 の 1行目のAさん・Bさんはどこから出てくるのか? 仮に既にあるとしたら、開いたファイルとどうつながるのか? 中のシートのどこかにか名前が書き込まれているのか? 質問の行数は全て同じなのか、違うのか?

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

複数のブックから集計する際に、どのブックが誰のものなのかはわかるのでしょうか? 例えば単に同じ名前のブックを渡したら、回収する際に同一名のブックばかりになりますし。 回答者がブックの名前を自分の名前として修正、若しくは渡す際にわけているのなら大丈夫そうですけど。 Excel2007は持ってないので、もしかすると問題ないのかな???

sasakei
質問者

補足

お返事ありがとうございます!そして、遅くなりました。。 違うブックのsheet2のみを集計用のブックに転記し、シート名をブックの一箇所を指定して、変更するところまでできました。 が、そこからができません… これまでにできたのが以下です。。 Sub consolid() Application.ScreenUpdating = False '画面更新を一時停止 Set mb = ThisWorkbook 'このコピー先ブックをmbとする。 myfdr = ThisWorkbook.Path fname = Dir(myfdr & "\*.xls") 'フォルダ内のExcelブックを検索 Do Until fname = Empty '全て検索 If fname <> mb.Name Then 'ブック名がこのブックの名前でなければ Set wb = Workbooks.Open(myfdr & "\" & fname) 'そのブックを開きwbとする。 wb.Worksheets("Sheet1").Copy After:=mb.Sheets(mb.Sheets.Count) 'コピーしてコピー先ブックの末尾に置く Dim Sheet1 As Worksheet Set Sheet1 = Worksheets("Sheet1") Sheet1.Name = Range("A13") wb.Close '開いたブックを閉じる n = n + 1 'ブック数をカウント End If fname = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す Application.ScreenUpdating = True '画面更新一時停止を解除 MsgBox n & "件のブックをコピーしましました。" End Sub いろんなサイトを見てツギハギしました。。

関連するQ&A