【发布时间】:2017-07-20 13:11:26
【问题描述】:
上个月我一直在使用 VBA(为了我的工作),自从我开始使用这种语言/脚本以来,我在比较字符串时遇到了几次问题。 . 到目前为止,我比较字符串的方式是:
- str1 = str2 和 str1 str2
- StrComp(str1, str2, comparisonMethod)
- InStr(str1, str2)
有时,在使用其中一种比较方法之前,我会先应用 UCase(str1),甚至是 UCase(Trim(str1))。不过,根据我目前的经验,在 VBA 中比较字符串似乎是一件相当多变的事情,因为我觉得我得到的结果不一致。
问题:在 VBA 中比较两个字符串的最佳程序是什么?
例如:假设有两个列表。一个列表包含笔记本电脑型号,另一个包含零件编号。目标是将所有零件编号与模型相关联。我的结果只产生了部分关联,这意味着如果我有 10 个零件号应该与一个模型关联,那么实际上只有 5 或 6 个。然后,我将无法正确比较的字符串在单独的代码中再次进行比较,然后将得到正确的结果。这种行为在我使用 VBA 的过程中一直保持一致,这也是“感觉”的来源。
【问题讨论】:
-
“我觉得我得到了不一致的结果” - 你怎么能感觉到这种“二进制”的东西(?),请添加一个示例,说明你的方法没有返回预期的结果。
-
A = B 如果 A 和 B 在相同的情况下并且具有相同(如果有的话)前导/尾随空格,则 A = B 是 100% 可靠的 - 请记住始终确保这两件事是真实的,您将拥有没问题。
-
@Charles 也许您正在处理这样的案例:stackoverflow.com/questions/45120678/…
-
是的,我们需要一个例子。
标签: vba excel string-comparison