Привет всему сообществу. Мой вопрос заключается в следующем: есть ли способ получить среднее из нескольких файлов .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
Другими словами, я хочу получить среднее значение для каждого столбца и сохранить эту строку в основной таблице. введите описание изображения здесь