- 締切済み
マクロで複数シートを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
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- n-jun
- ベストアンサー率33% (959/2873)
#1です。 コードを書いたブックに、開いたブックのSheet1をコピペするのは、質問のどの部分なのでしょう。 あと回答A集計 の 1行目のAさん・Bさんはどこから出てくるのか? 仮に既にあるとしたら、開いたファイルとどうつながるのか? 中のシートのどこかにか名前が書き込まれているのか? 質問の行数は全て同じなのか、違うのか?
- n-jun
- ベストアンサー率33% (959/2873)
複数のブックから集計する際に、どのブックが誰のものなのかはわかるのでしょうか? 例えば単に同じ名前のブックを渡したら、回収する際に同一名のブックばかりになりますし。 回答者がブックの名前を自分の名前として修正、若しくは渡す際にわけているのなら大丈夫そうですけど。 Excel2007は持ってないので、もしかすると問題ないのかな???
補足
お返事ありがとうございます!そして、遅くなりました。。 違うブックの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 いろんなサイトを見てツギハギしました。。