宏中的平均函数不返回值
Average function in macro not returning value
Dim XXXX as string
XXXX = Sheets("Sheet1").Application.WorksheetFunction.Average(Range("J7:J607")).value
Sheets("Log").Cells(2, "Z").value = XXXX
End Function
请看上面的宏。我需要 J 列中可用值的平均值,并且需要将该平均值粘贴到 "Log" sheet 中。但是该值没有返回,而是将其保留为空白单元格。但是代码运行正常,没有显示任何错误。
请帮我解决这个问题。
您正在尝试写入 Function
中的另一个单元格,然后我猜您是从工作表调用它?
改用 Sub
。当然,您不能从工作表中调用它。
试试这个
Private Sub Sample()
Dim XXXX As String
With Sheets("Sheet1")
XXXX = Application.WorksheetFunction.Average(.Range("J7:J607"))
Sheets("Log").Cells(2, "Z").Value = XXXX
End With
End Sub
如果您想使用一个函数并从工作表中调用它,请像这样使用它
Private Function GetAvg()
GetAvg = Application.WorksheetFunction.Average(Sheets("Sheet1").Range("J7:J607"))
End Function
然后在单元格 Z2
中键入此
=GetAvg()
以下代码可以代替您当前的代码:
Dim XXXX As String
XXXX = Application.WorksheetFunction.Average(Range("J7:J607"))
Sheets("Log").Cells(2, "Z").Value = XXXX
Dim XXXX as string
XXXX = Sheets("Sheet1").Application.WorksheetFunction.Average(Range("J7:J607")).value
Sheets("Log").Cells(2, "Z").value = XXXX
End Function
请看上面的宏。我需要 J 列中可用值的平均值,并且需要将该平均值粘贴到 "Log" sheet 中。但是该值没有返回,而是将其保留为空白单元格。但是代码运行正常,没有显示任何错误。
请帮我解决这个问题。
您正在尝试写入 Function
中的另一个单元格,然后我猜您是从工作表调用它?
改用 Sub
。当然,您不能从工作表中调用它。
试试这个
Private Sub Sample()
Dim XXXX As String
With Sheets("Sheet1")
XXXX = Application.WorksheetFunction.Average(.Range("J7:J607"))
Sheets("Log").Cells(2, "Z").Value = XXXX
End With
End Sub
如果您想使用一个函数并从工作表中调用它,请像这样使用它
Private Function GetAvg()
GetAvg = Application.WorksheetFunction.Average(Sheets("Sheet1").Range("J7:J607"))
End Function
然后在单元格 Z2
中键入此
=GetAvg()
以下代码可以代替您当前的代码:
Dim XXXX As String
XXXX = Application.WorksheetFunction.Average(Range("J7:J607"))
Sheets("Log").Cells(2, "Z").Value = XXXX