我正在尝试检查一个单元格是否包含一个单词或一系列单词。我正在寻找大约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/