Собрать данные из папки с кучей CSV - VBA

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Нужна помощь с такой задачей. Есть программа WinAudit насобирал кучу csv файлов с помощью ее. Пытаюсь макросом получить нужные мне данные (например "Computer Name" "[Значение]") из кучи этих файлов и чтоб данные из каждого файла писались отдельной строкой на листе. (нужно список оборудования сделать) Но пока только, собрать в один файл получилось.
Листинг программы
  1. Dim ToBook As String
  2. Dim ToSheet As Worksheet
  3. Dim NumColumns As Integer
  4. Dim ToRow As Long
  5. Dim FromBook As String
  6. Dim FromSheet As Worksheet
  7. Dim FromRow As Long
  8. Dim LastRow As Long
  9. Sub FILES_FROM_FOLDER()
  10. Application.Calculation = xlCalculationManual
  11. ChDrive ActiveWorkbook.Path
  12. ChDir ActiveWorkbook.Path
  13. ToBook = ActiveWorkbook.Name
  14. Set ToSheet = ActiveSheet
  15. NumColumns = ToSheet.Range("A1").End(xlToRight).Column
  16. ToRow = ToSheet.Range("A65536").End(xlUp).Row
  17. If ToRow <> 1 Then
  18. ToSheet.Range(ToSheet.Cells(2, 1), _
  19. ToSheet.Cells(ToRow, NumColumns)).ClearContents
  20. End If
  21. ToRow = 2
  22. FromBook = Dir("*.csv")
  23. While FromBook <> ""
  24. If FromBook <> ToBook Then
  25. Application.StatusBar = FromBook
  26. Transfer_data
  27. End If
  28. FromBook = Dir
  29. Wend
  30. MsgBox ("Done.")
  31. Application.StatusBar = True
  32. Application.Calculation = xlCalculationAutomatic
  33. End Sub
  34. Private Sub Transfer_data()
  35. Workbooks.Open Filename:=FromBook
  36. For Each FromSheet In Workbooks(FromBook).Worksheets
  37. LastRow = FromSheet.Range("A65536").End(xlUp).Row
  38. FromSheet.Range(FromSheet.Cells(2, 1), _
  39. FromSheet.Cells(LastRow, NumColumns)).Copy _
  40. Destination:=ToSheet.Range("A" & ToRow)
  41. ToRow = ToSheet.Range("A65536").End(xlUp).Row + 1
  42. Next
  43. Workbooks(FromBook).Close savechanges:=False
  44. End Sub

Решение задачи: «Собрать данные из папки с кучей CSV»

textual
Листинг программы
  1.  If arr(0) = "Computer Name" Then

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы