繁体   English   中英

将 Excel 公式转换为 VBA 插件(过滤器)

[英]Converting Excel formula to VBA add-in (FILTER)

我在单元格中有这个公式,它的工作原理有点像 xlookup 但实际上将所有匹配项作为 CSV 字符串返回,而不仅仅是第一个匹配项

=TEXTJOIN(", ",TRUE,FILTER('[myFile.xlsx]ForLookUp':$K,$K.'[myFile:xlsx]ForLookUp'!$N:$N=A2))

在哪里

  • K 列是从中提取返回值的位置,
  • N列是在生活中寻找匹配的数据范围
  • A2 是包含我要匹配的“密钥”的单元格

这工作正常,但我想将其转换为 VBA 以便我可以将其添加到我的加载项文件并重用

我认为这会相对简单,但我认为 TEXTJOIN 或 FILTER 在 VBA 中不存在吗? 我一直在 web 周围寻找答案,但还没有准备好找到适合我的东西。

理想情况下,对于加载项,范围和键都是传递给例程的参数。 任何帮助将非常感激。

看待

将此 function 添加到您的 VBA 代码库

Function textfilter(dataRange As Range, filter As Variant)
  textfilter = WorksheetFunction.TextJoin(", ", True, WorksheetFunction.filter(dataRange, filter))
End Function

并像这样在单元格中调用它

=textfilter('[myFile.xlsx]ForLookUp'!$K:$K,'[myFile.xlsx]ForLookUp'!$N:$N=A2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM