我想在我的一个计算中使用averageifs,它引用一个工作表中名为Table1的表的一列。如果我将公式粘贴在单元格中,我可以这样做。但我有很多细胞,所以我想避免粘贴。总之,我想说:
Selection.Value = WorkSheetfunction.AverageIff(Table1["Col A"], . . . .
其中Col A是包含该数据值的列
目前这有效:
With Selection
.FormatConditions.Add Type:=xlExpression, Formula1:=formula
,其中
formula = "=AVERAGEIFS(Table1[" + name + "],Table1[CELLNAME],Template!RC1,Table1[Date],Template!R1C)"
但正如我所说,我希望提高代码效率并避免粘贴公式。那么如何将表列作为标准插入到工作表函数中。
由于
答案 0 :(得分:1)
那么如何将表列作为标准插入到工作表函数中。
使用此代码:
Selection.Value = WorksheetFunction.AverageIfs(Range("Table1[Col A]"), _
Range("Table1[CELLNAME]"), "<criteria1>", _
Range("Table1[Date]"), "<criteria2>")
<强> UPD:强>
我想用公式
填充空白单元格 我不希望公式出现在单元格中
在这种情况下,我建议您遵循以下解决方案:
With Selection
.FormulaR1C1 = "=AVERAGEIFS(Table1[Col A],Table1[CELLNAME],Template!RC1,Table1[Date],Template!R1C)"
.Value = .Value
End With
它使用公式计算值,然后.Value = .Value
part 使用结果重写公式。