我有一个数组公式,用于计算列中的唯一记录。我正在尝试在 VBA 模块中使用它,但需要弄清楚如何根据列的使用范围更改范围,因为每次运行它时它都会更改。我使用的公式是
=SUM(1/COUNTIF(H2:H67,H2:H67))
,只需要了解如何动态更改H列中的范围。如有任何帮助,我们将不胜感激。
我已经在网上进行了研究,但我不知道如何将使用的范围隔离到单列以及如何在我的公式中引用它。
以下是使用 VBA 计算工作表公式的示例:
Sub Tester()
Dim ws As Worksheet, lr As Long
Set ws = ActiveSheet 'for example
lr = ws.Cells(Rows.Count, "H").End(xlUp).Row 'last row in col H
If lr > 1 Then 'any data?
'evaluate the formula
Debug.Print ws.Evaluate(Replace("=SUM(1/COUNTIF(H2:H<lr>,H2:H<lr>))", "<lr>", lr))
'alternate using UNIQUE()
Debug.Print UBound(ws.Evaluate("=UNIQUE(H2:H" & lr & ")"))
End If
End Sub