【发布时间】:2021-11-24 05:17:06
【问题描述】:
概述 我正在尝试创建一个用户定义函数,我想在其中传递三个字符串(单元格值)——Value1、Value2 和 Value3,将它们传递给一个数组,然后使用 Join 函数使用换行符连接它们并添加一个自定义文本作为每个字符串之前的前缀。
目标
但在加入他们之前,我想确保传递的参数都不是空字符串。我正在尝试使用 VBA Filter 函数来检测数组中传递的非空字符串,然后加入它们。
我在哪里卡住了
但是,如果我将 "" 或 vbNullString 作为 Match 参数并将 Include 参数设置为“False”,则 VBA Filter 函数无法检测到非空字符串.我还使用了 Trim 函数来确保数组中传递的所有字符串都不包含空格。
我可以使用一些通配符来确保字符串至少包含一个或多个字符吗?我试过传递“*?” Match 参数中的字符并将 Include 参数设置为 'True' 但它不起作用。
问题
有没有可能使用 VBA Filter 函数的方法,可能带有通配符?
【问题讨论】:
-
也许你只是用
len(value1) > 0检查传递的字符串的len。 -
我知道可以有不同的方法来检查传入数组的字符串是否为空。我只想知道在默认的 VBA 过滤器函数中是否有一种方法可以识别和过滤掉数组中的任何空字符串。
-
根据您的帖子,不清楚您的目标是什么或您的问题是什么。请相应地编辑您的帖子并显示您遇到问题的代码。 stackoverflow.com/help/how-to-ask
-
@ARINDAMMOITRA 发布了如何解决您的(核心)问题的方法,演示了如何通过
VBA.Filter()过滤掉空字符串 - 如果您找到答案,请勾选答案旁边的绿色复选标记,随时接受有帮助。
标签: arrays excel vba user-defined-functions