2016-10-31 146 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 
相關問題