【发布时间】:2020-07-28 21:24:53
【问题描述】:
我正在从一个巨大的 ASCII 文件中的一些传感器获取数据,我想将其导入到 excel 中以进行平均和绘图,我正在成功导入,但我不知道如何计算列的平均值自动
Sub Import()
Dim FileToOpen As Variant
Dim OpenBook As Workbook
Dim NameOfWorkbook As String
Dim arr As Variant
Application.Calculation = xlCalculationManual
Application.DisplayStatusBar = False
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets.Add(After:=ActiveSheet).Name = "Data1"
NameOfWorkbook = ActiveSheet.Name
'Step 1 Import the data
FileToOpen = Application.GetOpenFilename(Title:="Import sensor report in ASCII format")
If FileToOpen <> False Then
Set OpenBook = Application.Workbooks.Open(FileToOpen)
arr = OpenBook.Sheets(1).Range("A1").CurrentRegion
RowCount = UBound(arr, 1)
ColumnCount = UBound(arr, 2)
ThisWorkbook.Sheets("Data1").Range("A1").Resize(RowCount, ColumnCount).Value = arr
arr = OpenBook.Sheets(1).Range("A3").CurrentRegion
RowCount = UBound(arr, 1)
ColumnCount = UBound(arr, 2)
ThisWorkbook.Sheets("Data1").Range("A3").Resize(RowCount, ColumnCount).Value = arr
OpenBook.Close False
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.DisplayStatusBar = True
Application.EnableEvents = True
End Sub
这将导入第 1 行中的传感器编号和第 3 行及以下的数据 我想将第 2 行的平均值自动填充到第 3 行及以下的最后一个数字,这可能会有所不同,请在下面找到图片
那么,谁能帮我用“=Average(D3:D last item)”为 D2 到 AJ2 自动填充单元格 D2?使用与导入代码相同的执行方式?
谢谢!
【问题讨论】:
-
您的问题是不知道使用什么公式?还是您不知道如何插入公式?如果是前者,
AVERAGE将忽略空单元格,因此您只需输入一个覆盖到底部的公式。如果是后者,请查看.Range对象的.Formula属性以获取指导。 -
非常感谢您的回复,我的问题是我不知道如何准确地编写公式,所以在一个循环中,它从 D 列到 AJ 列并插入该列的平均值,忽略前 2 个单元格。