0
我必須比較2個不同工作表中的2列,然後在第二個工作表中添加缺失的單元格。但問題是我使用了一個循環,並且花費了太多時間。是否有人知道如何比較這兩列而不使用循環。不使用循環比較2列
Set col_1 = Worksheets("Plan Traitement Risque").Range("B6:B700")
With ThisWorkbook.Sheets("Analyse de risque")
For i = 200 To 6 Step -1
'Test si valeur cellule feuil1!=Ax est dans Plage col_2(feuil2!A1:A50))
If Application.CountIf(col_1, .Range("B" & i).Value) = 0 Then
'Delete ligne i feuil1
.Rows(i).Copy
Sheets("Plan Traitement Risque").Rows(i).Insert (xlShiftDown)
End If
Next i
End With
我會盡量避免循環,但是您需要它來比較值。在你的情況下,主要的問題是插入行和CountIf()。如果將兩個範圍都複製到數組中,則可以顯着提高速度,並且只將第二個範圍寫回一次(如果包含完整函數,這會很有幫助) –