如果多个条件匹配,则返回true
你好,我在VBA是相当新的。 我在一个超过10,000行的大型电子表格中工作。 我试图完成的是:
-
首先一个macros将在列E中查找值1
-
如果有匹配的话,它将在列D的左边看一个单元格,以获得两个可能的string值。
-
如果两行条件都满足,则在相应的G行中返回true
这是我在下面,它不在下面的工作,我遇到了错误。 任何帮助表示赞赏。
Sub find_mismatch() Dim c As Range Dim string1 As String Dim string2 As String string1 = "Apple" string2 = "Orange" For Each c In Range("E1:E10138") If c.Value = 1 Then If ActiveCell.Offset(-1, 0).Value = string1 Or string2 Then ActiveCell.Offset(2, 0).Value = "True" End If End If Next End Sub
如果条件总是必须全部写完,即使感觉就像是在重复自己,那也是多重的。
改变这个:
If ActiveCell.Offset(-1, 0).Value = string1 Or string2 Then ActiveCell.Offset(2, 0).Value = "True" End If
对此:
If c.Offset(0, -1).Value = string1 Or c.Offset(0, -1).Value = string2 Then c.Offset(0, 2).Value = "True" End If
编辑:刚才意识到行和列也颠倒了。 偏移的语法是偏移(行,列)。 所以要走了,你把第二个参数中的负数不是第一个。