【问题标题】:2D array FIlter - VBA NO EXCEL二维数组过滤器 - VBA NO EXCEL
【发布时间】:2021-01-29 15:32:33
【问题描述】:

在这篇帖子Filtering 2D Arrays in Excel VBA 几年前,有人提出了一个用于二维数组过滤器的函数,但使用的是 excel 函数:

If Evaluate(TmpVal & FindStr) Then Dic.Add i, ""

现在评估它在 VBA 上对我的应用程序 Autodesk 不可用。 请有人可以建议我如何替换它? 我有两个对象属性的二维数组,并列。 有时对象可能具有相同的属性,请参见下面的示例

对象 1 层“绿色”长度 100

对象 2 层“绿色”长度 100

对象 3 层“绿色”长度 150

对象 4 层“蓝色”长度 200

统计结果:

层蓝色长度 200 计数 1

层绿色长度 100 计数 2

层绿色长度 150 计数 1

所以我的范围是有一个具有上述结果的二维数组。 不幸的是,过滤器功能仅适用于一维数组。 谢谢

【问题讨论】:

    标签: arrays vba 2d


    【解决方案1】:

    古老的问题,我写了stdLambda,这是Evaluate()方法的一个很好的替代方法

    for i = lbound(v,1) to ubound(v,1)
      if stdLambda.Create("$1 = """ & sValueName & """")(v(i,iField)) then Dic.Add i, ""
    next
    

    【讨论】:

      猜你喜欢
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      相关资源
      最近更新 更多