它不通过所有的细胞,有时跳到另一个没有在续集

Sub Vecinas() For Each cell In [Data!A2.A50001] pmNoVecias = cell.Offset(0, 0) pmNameOrigen = cell.Offset(0, 1) pmNameVecina = cell.Offset(0, 7) pmVecinas = cell.Offset(0, 8) pmIntentos = cell.Offset(0, 9) If pmNameOrigen = "" Then Exit For End If If pmVecinas = "Yes" Then If pmIntentos < 100 Then cell.EntireRow.Copy Sheets("Borrar").Select cell.EntireRow.PasteSpecial Sheets("Data").Select cell.EntireRow.Delete End If Else If pmIntentos > 100 Then cell.EntireRow.Copy Sheets("Agregar").Select cell.EntireRow.Insert Sheets("Data").Select cell.EntireRow.Delete Else cell.EntireRow.Delete End If End If Next End Sub 

这个程序运行良好,从一张纸上删除信息并放在另一张纸上,唯一的问题是它不会经过每一个单元格,有时会跳到2或3.我怎样才能让这个程序去每一个单细胞?

当行被删除时,它下面的行不被检查,但被跳过。 例如。 如果删除第2行,第3行成为新的第2行; 但是对于每个循环,继续行3。这意味着一行被跳过。 您可以尝试使用cell.EntireRow.Clear而不是Delete,并且在代码完成后,对表格进行sorting,或者select列中的空白单元格并删除行。