Merhaba,
116 sütun ve 2999 satır olmak üzere toplam 347884 hücrede işlem yapıyorum. Makroda herhangi bir sıkıntı yok çalışıyor ancak işlem çok uzun sürüyor.
Kodlamada bu süreyi kısaltabilecek bir düzenleme yapabilir miyiz?
Saygılarımla
116 sütun ve 2999 satır olmak üzere toplam 347884 hücrede işlem yapıyorum. Makroda herhangi bir sıkıntı yok çalışıyor ancak işlem çok uzun sürüyor.
Kodlamada bu süreyi kısaltabilecek bir düzenleme yapabilir miyiz?
Kod:
Sub iletim()
Application.Calculation = xlManual
Application.ScreenUpdating = False
Dim a As Long, B As Long
For a = 6 To 3005
If Left(Cells(a, 1), 2) <> 0 Then
For B = 8 To 124
If Left(Cells(a, 2), 2) = "DH" Or Left(Cells(a, 2), 2) = "CC" Or Left(Cells(a, 2), 2) = "CA" Or Left(Cells(a, 2), 2) = "TG" Then
Cells(a, B) = (WorksheetFunction.Index(Sheets("veri").Range("AI3:AU252"), WorksheetFunction.Match(Cells(a, 2) & Cells(a, 3), Sheets("veri").Range("AH3:AH252"), 0), Cells(2, B) - 5) + (26.7 - Cells(a, 7)) + (Cells(5, B) - 29.45)) * Cells(a, 4) * Cells(a, 5)
ElseIf Left(Cells(a, 2), 2) = "DP" Or Left(Cells(a, 2), 2) = "DK" Or Left(Cells(a, 2), 2) = "BK" Then
Cells(a, B) = (Cells(3, B) - Cells(a, 7)) * Cells(a, 4) * Cells(a, 5)
ElseIf Left(Cells(a, 2), 2) = "DO" Or Left(Cells(a, 2), 2) = "İD" Or Left(Cells(a, 2), 2) = "TO" Or Left(Cells(a, 2), 2) = "İT" Then
Cells(a, B) = (Cells(3, B) - Cells(a, 7) + Cells(a, 6)) * Cells(a, 4) * Cells(a, 5)
Else
Cells(a, B) = ""
End If
Next B
End If
Next a
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
End Sub