fork download
  1. Option Explicit
  2.  
  3. Public Sub アンケート集計()
  4. Const Folder As String = "D:\goo\data7" 'excelファイル格納フォルダ
  5. Dim fname As String 'ファイル名
  6. Dim wb2 As Workbook '記入表のブック
  7. Dim ws1 As Worksheet '回答一覧
  8. Dim ws2 As Worksheet '記入表
  9. Dim maxrow As Long '回答一覧の最大行
  10. Dim row1 As Long '回答一覧の処理行
  11. Set ws1 = Worksheets("回答一覧")
  12. maxrow = ws1.Cells(Rows.Count, "C").End(xlUp).Row 'C列の最大行取得
  13. If maxrow < 2 Then maxrow = 2 '2行未満なら2行に修正
  14. row1 = maxrow + 1 'maxrowの次の行から書き込み
  15. fname = Dir(Folder & "\*.xlsx") '指定フォルダ内の*.xlsxを取得
  16. If fname = "" Then
  17. MsgBox (Folder & "内に.xlsxなし")
  18. Exit Sub
  19. End If
  20. Do While fname <> ""
  21. '該当ファイルをオープン
  22. Set wb2 = Workbooks.Open(Folder & "\" & fname)
  23. Set ws2 = wb2.Worksheets("記入表")
  24. '記入表から回答一覧へ6セル分まとめて転記
  25. ws1.Cells(row1, "C").Resize(, 6).Value = ws2.Cells(3, "C").Resize(, 6).Value
  26. wb2.Close SaveChanges:=False
  27. '回答一覧の処理行に1加算
  28. row1 = row1 + 1
  29. '次のexcelファイルを取得
  30. fname = Dir()
  31. Loop
  32. MsgBox ("処理完了")
  33. End Sub
  34.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty