【问题标题】:Can the "Like Operator" be used with an array?“Like 运算符”可以与数组一起使用吗?
【发布时间】:2019-08-20 19:17:03
【问题描述】:

我可以这样做吗:

Sub RTtest2()

    Dim i As Variant
    Dim ArrTest As Variant

    ArrTest = Array("tag:(1???)?EX???", "tag:(3???)?EX???", "tag:(5???)?EX???")

    For Each i In ArrTest
        If "tag:(1001)FEXFFF" Like ArrTest(i) Then
            'Do something
        Else
            'Do something
        End If
    Next i

End Sub

具体来说,我可以将数组与 like 运算符一起使用吗?

【问题讨论】:

  • 这看起来更适合 REGEX
  • 我得到一个类型不匹配错误...但我不知道这是否意味着我不能这样做,或者这是否意味着我只是有一些小的语法错误
  • If "tag:(1001)FEXFFF" Like i Then - 你正在使用For Each 循环。
  • 这是否意味着您不能将数组与 Like 一起使用?另外...为什么 REGEX 更适合?我之所以问是因为我对 REGEX 不是很熟悉(我今天早些时候才了解它),而且看起来 like 运算符更易于使用。
  • 大笨钟!!谢谢!!

标签: arrays excel vba loops


【解决方案1】:

这是一个将“Like”与数组一起使用的示例...在这种情况下,该数组称为“TagForms”

If wkbCompiledData_Table(1).Sheets(1).Cells(r, 2).Value Like TagForms(i) Then
    wkbCompiledData_Table.Add Workbooks.Open(FileName:=wkbCompiledData_Table(1).Sheets(1).Cells(r, 1).Value, WriteResPassword:="x")
End If

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 2020-06-13
    • 2013-04-29
    • 2017-04-01
    • 2023-02-24
    • 1970-01-01
    • 2011-03-24
    相关资源
    最近更新 更多