如果/ Then语句没有正确执行

我用If / Then创build了各种macros,但是这次我遇到了If / Then的问题。 在And之后,If / Then的第二部分不能正确执行。 它只会将And之前的偏移量的值设置为0。 单元格的格式没有问题,因为当我改变它们的位置时,对于之前和之后的那个来说工作正常。 我正在提供下面的代码。

For Each cell2 In Range("E7:E" & lastrow12) If cell2.Value = 0 Then cell2.Offset(0, -2).Value = 0 And cell2.Offset(0, -1).Value = 0 End If Next cell2 

干得好:

 For Each cell2 In Range("E7:E" & lastrow12) If cell2.value = 0 Then cell2.Offset(0, -2).value = 0 cell2.Offset(0, -1).value = 0 End If Next cell2 

And 是一个布尔运算符,它在条件中使用 。

And函数是一个内置函数,被归类为一个逻辑函数,例如True和True。

你不能用来合并两个语句。 那就是说:

 For Each cell2 In Range("E7:E" & lastrow12) With cell2 If .Value = 0 Then .Offset(0, -1).Value = 0 .Offset(0, -2).Value = 0 End If End With Next cell2