gpt4 book ai didi

vba - 在VBA中比较单词时摆脱区分大小写?

转载 作者:行者123 更新时间:2023-12-01 16:40:50 24 4
gpt4 key购买 nike

我正在开发一个 VBA 程序,该程序允许用户键入地址并通过将地址元素与数据库相匹配来查找位置。

不幸的是,我经常遇到区分大小写的问题。

例如,当我使用此代码时:

For i = 11 To lRowB
Range("B" & i).Activate
myResult = IsNumeric(Application.Match(ActiveCell.Value, manilaListRange, 0))

它会将事件单元格的值与我的数据库中的单词列表进行比较。问题是,如果在我的事件单元格中单词是“miami”或“MIAMI”并且数据库中只有“Miami”,则它将不起作用......

其他示例:

If Range("J6").Value = "tawi" Then
Range("J6").Value = "Tawi-Tawi"
End If

同样的问题,只有大小写相同的单词才有效。

我怎样才能摆脱这个问题?这特别烦人,我无法在每种可能的情况组合中重写我的数据库!

最佳答案

您可以在模块级别发出一条语句:

Option Compare Text

这使得所有“文本比较”不区分大小写。这意味着以下代码将显示消息“这是真的”:

Option Compare Text

Sub testCase()
If "UPPERcase" = "upperCASE" Then
MsgBox "this is true: option Compare Text has been set!"
End If
End Sub

例如参见 http://www.ozgrid.com/VBA/vba-case-sensitive.htm 。我不确定它是否能完全解决所有实例的问题(例如 Application.Match 函数),但它会处理所有 if a=b 语句。至于 Application.Match - 您可能希望使用 LCase 函数将参数转换为大写或小写。

关于vba - 在VBA中比较单词时摆脱区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17035660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com