• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルに入力されたアンケートの回答をマクロで集計する。)

エクセルでアンケート回答の集計を行う方法

このQ&Aのポイント
  • エクセルに入力されたアンケートの回答をマクロで集計する方法について説明します。
  • アンケートに対する回答のエクセルファイルを特定のフォルダに保存し、集計用ファイルに回答を転記していきます。
  • エクセルマクロを使用して、回答ファイルから特定の部分を一人一列に転記する方法を解説します。

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

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

集計用BOOKが同じフォルダーにおいてもいいように書いてみました。 Dim WorkPath As String Dim Target As String Dim i As Long Application.ScreenUpdating = False WorkPath = "C:\Documents and Settings\Zawa\デスクトップ\Test" Target = Dir(WorkPath & "\*.xls", vbNormal) i = 1 Do While Target <> "" If Target <> ThisWorkbook.Name Then Workbooks.Open WorkPath & "\" & Target i = i + 1 '列番号右にを増やす With Workbooks(Target) .Sheets("Sum").Range("C7").Copy ThisWorkbook.Sheets("Sheet1").Cells(3, i) .Sheets("Sum").Range("C10").Copy ThisWorkbook.Sheets("Sheet1").Cells(4, i) .Sheets("Sum").Range("D10").Copy ThisWorkbook.Sheets("Sheet1").Cells(5, i) .Close SaveChanges:=False End With End If Target = Dir() Loop MsgBox i - 1 & "件のBOOKの転記が終了しました。" End Sub

dovedimsum
質問者

お礼

ありがとうございます! 特に With Workbooks(Target) .Sheets .Sheets .Sheets と書ける事は始めて知りました。 非常に勉強になりました。

その他の回答 (1)

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

No1 merlionXXです。 Application.ScreenUpdating = True  を MsgBox i - 1 & "件のBOOKの転記が終了しました。" の前に一行入れてください。

関連するQ&A

専門家に質問してみよう