【问题标题】:Excel Macros AverageExcel 宏平均值
【发布时间】:2023-03-12 14:13:01
【问题描述】:

我正在尝试获取列的平均值,但这会引发语法错误,我无法理解它

Sheets("Calculator").Range("C15").Value = "=Average(Sheets("Results").Range("C2:C1000"))"

【问题讨论】:

    标签: vba excel average


    【解决方案1】:

    试试这个:

    Sheets("Calculator").Range("C15").Formula = "=Average(Results!C2:C1000)"
    

    或者这个:

    Sheets("Calculator").Range("C15").Value = WorksheetFunction.Average(Sheets("Results").Range("C2:C1000"))
    

    【讨论】:

      【解决方案2】:

      尝试在 vba 中解决它。

      Sheets("Calculator").Range("C15").Value = application.Average(Sheets("Results").Range("C2:C1000"))
      

      或作为工作表上的公式。

      Sheets("Calculator").Range("C15").formula = "=average(" & Sheets("Results").Range("C2:C1000").address(0, 0, external:=true) & ")"
      

      【讨论】:

      • 你觉得Application.AverageWorksheetFunction.Average哪个更好?
      • 啊,是的,这对我有用,谢谢你,这让我很烦很长时间了
      • 如果你可以使用字符串Results!C2:C1000Sheets("Results").Range("C2:C1000").address … 是不是有点过于强大了?
      • 我更喜欢应用程序,因为您可以解决返回的错误而不是抛出它们。一个#DIV/0!可以在应用程序中被 IsError 捕获;工作表函数刚刚停止。
      • @Pᴇʜ - 前提是你事先知道字符串。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多