2D阵列过滤器-VBA NO EXCEL

问题描述

在几年前的Filtering 2D Arrays in Excel VBA中,有人提出了用于2D数组过滤器的函数,但是使用了excel函数

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

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

对象1层“ GREEN”长度为100

对象2层“ GREEN”长度为100

对象3层“ GREEN”长度为150

对象4层“蓝色”长度200

计算结果:

蓝色层长度200计数1

绿色层长度100计数2

绿色层长度150计数1

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

解决方法

一个古老的问题,但是stdLambdaEvaluate()方法的一个很好的选择

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