Оптимизация кода при помощи цикла - VBA
Формулировка задачи:
Здравствуйте дорогие прогеры
есть файл (приложил), в лист 1 справа необходимо проставить курсы из листа курсы за каждый день
написал тупой код, можно его как то циклом или как нибудь оптимизировать?
буду рад за любую помощь
Решение задачи: «Оптимизация кода при помощи цикла»
textual
Листинг программы
Sub Проставить_курсы_многих_валют()
Dim i&, j&, A, B, Dic
A = Worksheets("Курсы").[A1].CurrentRegion.Value
Set Dic = CreateObject("Scripting.Dictionary"): Dic.CompareMode = 1
For i = 2 To UBound(A)
For j = 2 To UBound(A, 2)
Dic(A(i, 1) & A(1, j)) = A(i, j)
Next j
Next i
With Worksheets(2)
'.Range("R4:R" & .UsedRange.Rows.Count).ClearContents 'раскомментировать, если надо стереть все старые курсы
B = Intersect(.UsedRange, .Columns("I:J")).Value
For i = 4 To UBound(B)
If Dic.Exists(B(i, 1) & B(i, 2)) Then .Cells(i, 18) = Dic(B(i, 1) & B(i, 2))
Next i
End With
Set Dic = Nothing
End Sub