我正在尝试检查一个单元格是否包含一个单词或一系列单词。我正在寻找大约20个不同的版本,如果它是其中之一,那么我什么也不想做。如果不是其中之一,那么我希望它是空白。我已经解决了某个特定项目的问题,但是如何在不执行20个IF语句的情况下查找20个不同项目呢?我可以为IF语句创建数组或其他内容吗?我也不知道该怎么做,但我可以查一下。

这是我的一项具体陈述:

 ActiveSheet.AutoFilterMode = False
lngRows = Range("A" & Rows.Count).End(xlUp).Row


For lngRow = lngRows To 2 Step -1
    If (LCase(ActiveWorkbook.Worksheets("Sheet1").Cells(lngRow, "A").Value) = "transfer" And _
        Not InStr(1, LCase(Range("B" & lngRow)), LCase("err")) <> 0) Then
        ActiveWorkbook.Worksheets("Sheet1").Cells(lngRow, "B").Value = ""

    End If


我需要这样做,但要换20个字。这个正在搜索在任何单元格中是否有err单词Error。

最佳答案

创建一个搜索词数组并遍历该数组。为了方便起见,我使用了一个变体数组:

Sub Test()
    Dim arr As Variant, v As Variant

    arr = Array("err", "err2", "err3") 'all 20 in here or get from worksheet as per below
    'arr = Application.Transpose(ThisWorkbook.Worksheets("Sheet1").Range("A1:A20"))

    For Each v In arr
        'IF statement in this loop, using the variable v rather than the string "err"
        'MsgBox v
    Next v
End Sub

关于excel - 我正在尝试使用IF语句检查单元格中是否存在20个不同的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46121607/

10-08 22:38