我從文件讀取數據並檢查記錄是否已經在工作表中。Excel在IF語句中掛起
Excel在處理大約60k條記錄後凍結。如果我開始從宏停止的位置讀取文件,它會在讀取另一條60k記錄後再次凍結。
Sub aktualizacja()
Dim koniec As Long, dlugosc As Long, pozycja As Long, numer As Long, numer2 As Long, i As Long
Open "C:\bazy\test.dat" For Binary Access Read As #1
dlugosc = FileLen("C:\bazy\test.dat")
pozycja = 41
Do
koniec = Worksheets("Baza").Range("A1048576").End(xlUp).Row
Get #1, pozycja, numer
Get #1, pozycja + 4, numer2
For i = 2 To koniec
If Worksheets("Baza").Cells(i, 1) = numer Then
'If Worksheets("Baza").Cells(i, 2) <> numer2 Then
' Worksheets("Baza").Cells(i, 2) = numer2
'End If
'Cells(1, 11) = i
'Exit For
End If
Next i
If i > koniec Then
Worksheets("Baza").Cells(koniec + 1, 1) = numer
Worksheets("Baza").Cells(koniec + 1, 2) = numer2
End If
pozycja = pozycja + 40
Loop Until (pozycja > dlugosc)
Close #1
End Sub
當我把所有的命令放在IF語句中時,宏仍然凍結。
它凍結在哪條線上? –
在行11.當我刪除以下語句:「如果工作表(」Baza「)。單元格(i,1)=數字然後」,宏按預期運行... – Stripe
是否有任何計算運行的單元格填充? –