Получить среднее из нескольких столбцов из CSV-файлов и сохранить его на мастер-лист в Excel с помощью VBA - PullRequest
0 голосов
/ 01 марта 2020

Привет всему сообществу. Мой вопрос заключается в следующем: есть ли способ получить среднее из нескольких файлов .csv и вставить его на мастер-лист в Excel с помощью макроса без необходимости открывать .csv?

Я пробовал это code:

Sub Button1_Click()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim file_text_tmp As String
Dim i As Integer

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("E:\Files")

field_num = 3
delimiter = ","

Col = 1
For Each objFile In objFolder.Files
   Cells(1, Col) = Val(Left(Right(objFile.Name, 11), 5))
   Open objFile.Path For Input As #1
     Row = 2
     Do While Not EOF(1)
        Line Input #1, file_text_tmp
        If field_num > 1 Then
           For k = 1 To field_num - 1
              file_text_tmp = Right(file_text_tmp, Len(file_text_tmp) - InStr(1, file_text_tmp, delimiter))
           Next k

        End If
        If InStr(1, file_text_tmp, delimiter) = 0 Then
           Cells(Row, Col) = file_text_tmp
           Col = Col + 1
        Else
           Cells(Row, Col) = Left(file_text_tmp, InStr(1, file_text_tmp, delimiter) - 1)
           Col = Col + 1
        End If
        Row = Row + 1
     Loop
   Close #1
   Col = Col + 1
Next objFile
'Rows("1:6").Delete
'Average Data
Row = ActiveSheet.UsedRange.Rows.Count + 1
For i = 1 To Col - 1
   With Cells(Row, i)
      .Value = Application.WorksheetFunction.Average(Range(Cells(2, i), Cells(Row - 1, i)))
      .Font.Bold = True
   End With
Next i

End Sub

Но все мои данные помещаются только в одну ячейку, поскольку в моих архивах .csv есть несколько столбцов, разделенных запятыми. Спасибо, и я действительно ценю помощь.

Подробнее:

Каждый .csv имеет это>

введите описание изображения здесь

и у меня есть несколько таких файлов>

введите описание изображения здесь

Поэтому мне нужно поместить много этих файлов .csv в папку, а затем с помощью Макрос вычислите среднее значение для каждого .csv и сохраните его в Master Excel. Я застрял в среднем x_x

Другими словами, я хочу получить среднее значение для каждого столбца и сохранить эту строку в основной таблице. введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...