具有动态范围的Excel VBA公式不起作用

时间:2017-01-31 10:19:01

标签: excel vba excel-vba excel-formula

我在Excel中有以下公式,我在其中应用了具有动态范围的countif。当我在宏中应用此公式时,这不是给出值而是单引号(')覆盖范围。

Cells(XRow, 3).Formula = "=COUNTIF( " & Range(Cells(6, 5), Cells(YRow - 1, 5)).Address(0, 0) & "  ,RC[-1])"

这是我在细胞中得到的

=COUNTIF( 'E6':'E212',B6)

我不确定为什么单引号占用单元格'E6',如果我从单元格中手动删除它,它可以工作。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您正在混合引用样式xlA1xlR1C1

使用此:

Dim Rg As Range
Set Rg = Cells(XRow, 3)
Rg.Formula = "=COUNTIF(" & Range(Cells(6, 5), Cells(YRow - 1, 5)).Address(0, 0) & "," & Rg.Offset(0, -1).Address(0, 0) & ")"