VBA 指公式中使用的列范围

问题描述 投票:0回答:1

我有一个数组公式,用于计算列中的唯一记录。我正在尝试在 VBA 模块中使用它,但需要弄清楚如何根据列的使用范围更改范围,因为每次运行它时它都会更改。我使用的公式是

=SUM(1/COUNTIF(H2:H67,H2:H67))
,只需要了解如何动态更改H列中的范围。如有任何帮助,我们将不胜感激。

我已经在网上进行了研究,但我不知道如何将使用的范围隔离到单列以及如何在我的公式中引用它。

excel vba worksheet-function
1个回答
1
投票

以下是使用 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
© www.soinside.com 2019 - 2024. All rights reserved.