gpt4 book ai didi

excel - 无法获取 WorksheetFunction 类错误的匹配属性

转载 作者:行者123 更新时间:2023-12-04 22:06:25 27 4
gpt4 key购买 nike

我在一大堆工作表上有一大堆数据,对于每个工作表,我想找到给定列中唯一值的计数。

当我在工作表中使用以下命令时,它可以完美运行

=SUM(IF(FREQUENCY(MATCH(REST!D2:D2225,REST!D2:D2225,0),MATCH(REST!D2:D2225,REST!D2:D2225,0))>0,1))

但是当我在 VBA 中使用等效命令时,出现错误
    range1 = Cell(2,j).Address & ":" & Cells(k,j).Address


= Application.WorksheetFunction.SUM( Application.WorksheetFunction.IF( Application.WorksheetFunction.FREQUENCY( Application.WorksheetFunction.MATCH(Range(range1),Range(range1),0), Application.WorksheetFunction.MATCH(Range(range1),Range(range1),0))>0,1))

我尝试过其他组合,例如使用
 Application.Match 


 Application.Frequency

我也有“类型不匹配错误。

另一方面,以下功能完美运行
  Application.Worksheetfunction.Sum(Range(range2))

range1 和 range2 的最大区别在于 range2 数据是严格的数字,而 range1 数据既是数字又是字符串。

编辑:实现 BX201 的解决方案
     range_TradeID_total_FL = .Cells(2, TradeId_column).Address & ":" & Cells(Finalrow, TradeId_column).Address
doubleQ = Chr(34) & Chr(34)
fStr = "=SUMPRODUCT((range_TradeID_total_FL & " <> " & " & doubleQ & ")/COUNTIF(range_TradeID_total_FL , range_TradeID_total_FL & " & " & " & doubleQ & "))"
var_TOTAL_TradeId_count_FL = Evaluate(fStr)
MsgBox var_TOTAL_TradeId_count_FL

我不想将值存储在单元格中,而是将其存储在变量中。但是当我这样做时,MsgBox 给我的值是“True”而不是数字。

最佳答案

@SiddharthRout I am not aware of evaluate. Can you please tell me how it would work in my context, especially when I use variables for range.



试试这个(未经测试)

这是一个 row 是变量的示例。
Sub Sample()
Dim r1 As Long, r2 As Long
Dim formulaString As String

r1 = 2
r2 = 2225

'=SUM(IF(FREQUENCY(MATCH(REST!D2:D2225,REST!D2:D2225,0),MATCH(REST!D2:D2225,REST!D2:D2225,0))>0,1))
formulaString = "=SUM(IF(FREQUENCY(MATCH(REST!D" & r1 & _
":D" & r2 & _
",REST!D" & r1 & _
":D" & r2 & _
",0),MATCH(REST!D" & r1 & _
":D" & r2 & _
",REST!D" & r1 & _
":D" & r2 & _
",0))>0,1))"

Debug.Print Application.Evaluate(formulaString)
End Sub

关于excel - 无法获取 WorksheetFunction 类错误的匹配属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481067/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com