我想在其中一个计算中使用averageifs,该计算引用了其中一个工作表中名为Table1的表的一列。如果我将公式粘贴到单元格中,我可以做到这一点。但是我有很多单元格,所以我想避免粘贴。简而言之,我想说:
Selection.Value = WorkSheetfunction.AverageIff(Table1["Col A"], . . . .
其中,列A是包含该数据值的列
目前,这是有效的:
With Selection
.FormatConditions.Add Type:=xlExpression, Formula1:=formula哪里
formula = "=AVERAGEIFS(Table1[" + name + "],Table1[CELLNAME],Template!RC1,Table1[Date],Template!R1C)"但正如我所说的,我想让代码更有效率,避免粘贴公式。那么如何将表列作为条件插入到工作表函数中呢?
谢谢
发布于 2014-04-06 06:34:40
说明如何将表列作为条件插入到工作表函数中。
使用以下代码:
Selection.Value = WorksheetFunction.AverageIfs(Range("Table1[Col A]"), _
Range("Table1[CELLNAME]"), "<criteria1>", _
Range("Table1[Date]"), "<criteria2>")更新:
我想用公式填充空白单元格
我不希望公式出现在单元格中
在这种情况下,我建议您遵循以下解决方案:
With Selection
.FormulaR1C1 = "=AVERAGEIFS(Table1[Col A],Table1[CELLNAME],Template!RC1,Table1[Date],Template!R1C)"
.Value = .Value
End With它使用公式计算值,然后.Value = .Value部件使用公式的结果重写公式。
https://stackoverflow.com/questions/22887432
复制相似问题