gpt4 book ai didi

excel - 如何在 VBA 中使用 "contains"函数?

转载 作者:行者123 更新时间:2023-12-04 21:36:29 26 4
gpt4 key购买 nike

这是我的 Excel 表格,有 3 个输入列。最后一列是输出列,其中包含我需要的结果。

Excel Input and Output data

这是我的示例宏:

Function month(x As string, y As string, z As String) As String

If (((x = "January.Winter") Or (y = "January.Winter")) And (z = "jan")) Then
month= "true"

Else If (((x = "January.2016") Or (y = "January.2016")) And (z = "jan")) Then
month= "true"

Else If (((x = "January.today") Or (y = "January.today")) And (z = "jan")) Then
month= "true"

Else
month= False
End If
End Function

我的工作表包含数千行,其中包括“一月”作为子字符串作为单元格中的文本。而不是编写多个检查,如“如果“x = January.winter”,我想通过检查字符串“x”或字符串“y”是否包含字符串“January”来简化宏。有没有办法改变宏来做到这一点?

最佳答案

脑海中浮现的三种方式:

If LCase$(x) Like "january*" Or LCase$(y) Like "january*" Then
...


If InStr(LCase$(x), "january") Or InStr(LCase$(x), "january") Then
...


If LCase$(Left$(x, 7)) = "january" Or LCase$(Left$(y, 7)) = "january" Then
...

这真的取决于你想要获得多大的创造力。

请注意,我使用了 LCase$()强制文本小写并防止任何大写问题 - 在比较字符串时总是值得考虑的事情。

关于excel - 如何在 VBA 中使用 "contains"函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36211757/

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