gpt4 book ai didi

vba - 在 VBA 中使用平均值会导致应用程序定义或对象定义错误

转载 作者:行者123 更新时间:2023-12-04 22:05:37 24 4
gpt4 key购买 nike

我试图找到使用 VBA 的几个单元格的平均值,但是当我运行它时,它给了我错误。

这是我写的代码:

Sheets("1.A").Cells(124, 12) = Application.WorksheetFunction.Average("F" & matchStartRow & ":F" & matchEndRow)

也试过这个:
Sheets("1.A").Cells(124, 12) = Application.WorksheetFunction.Average(Sheets("1.A").Cells("F" & matchStartRow & ":F" & matchEndRow))

我想找到从 Fstart 到 Fend 的单元格的平均值,但是当我运行代码时,它会给出应用程序定义或对象定义的错误。

不知道为什么会出现这样的错误。需要一些指导。

完整代码:
Dim totalRowsinSheetA As Integer
totalRowsinSheetA = Sheets("1.A").Cells(Rows.Count, 1).End(xlUp).row
Sheets("1.A").Rows.Hidden = False
Sheets("1.A").Rows("3:" & matchStartRow - 1).Hidden = True
Sheets("1.A").Rows(matchEndRow + 1 & ":" & totalRowsinSheetA).Hidden = True


Sheets("1.A").Rows.Hidden = False

'Calculation of mean,VAR and cov
Sheets("1.A").Cells(124, 12) = Application.WorksheetFunction.Average("F" & matchStartRow & ":F" & matchEndRow)

最佳答案

你正在混合你的隐喻,或者什么:)。您可以包括 VBA Range Average WorksheetFunction 中的语法:

Sub test()
Dim matchStartRow As Long
Dim matchEndRow As Long

matchStartRow = 2
matchEndRow = 5
Sheets("1.A").Cells(124, 12) = Application.WorksheetFunction.Average(Sheets("1.A").Range("F" & matchStartRow & ":F" & matchEndRow))
End Sub

或者您可以使用 Application.Evaluate并构造一个在 Excel 中出现的公式:
Sub test2()
Dim matchStartRow As Long
Dim matchEndRow As Long

matchStartRow = 2
matchEndRow = 5
Sheets("1.A").Cells(124, 12) = Application.Evaluate("=Average(F" & matchStartRow & ":F" & matchEndRow & ")")
End Sub

关于vba - 在 VBA 中使用平均值会导致应用程序定义或对象定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com