2016-10-31 59 views
0

我想设置在C列到空白的每一个细胞,如果其小区对应B列中的值循环不会下一个元素

这是我的代码

For Each b In Columns("B").Cells 
    For Each c In Columns("C").Cells 
     If b.Value = c.Value Then 
     c.Value = Null 
    Next c 
Next b 

B和C都声明为范围。

我得到的错误是“Next without for”。

任何想法为什么?

+2

你错过了'结束If'。 – Comintern

+3

你也要循环1.04^2百万次。您可能希望将循环限制在数据范围内。 –

+0

请显示完整的代码,因为很难判断您的错误是否在代码段中,或者您在错误之前或之后出错。 –

回答

0

这是一个更好的办法,我认为....

dim rNg as range 
dim rCell as range 

set rNg = ThisWorkbook.Sheets("Sheet1").Range("your range") 'im assuming B:B in my code 

for each rCell in rNg.Cells 
    if rCell.Value <> vbNullString And rCell.Offest(0,1).Value <> vbNullString then 
     if rCell.Value = rCell.Offset(0,1).Value Then 
      rCell.Offset(0,1).Value = vbNullString 
     End If 
    End If 
next rCell 
相关问题