Я пытаюсь создать код с эффективностью , насколько это возможно.
Что мне нужно сделать, это Умножить диапазон ячеек на фиксированное значение и затем замените значение, которое имела каждая ячейка, на это новое значение.
Например:
В диапазоне "D5: 25" у меня есть разные числовые значения в каждой из ячеек. Затем я умножаю каждую ячейку на фиксированное значение, и это новое значение заменяется в каждой ячейке (я имею в виду в диапазоне «D5: 25»).
Мне удалось решить ее двумя способами, но оба "неэффективно" , поскольку, когда я запускаю код, он показывает, что для выполнения всех умножений в этом диапазоне требуется много времени.
А также, поскольку мне нужно сделать то же самое в и другие диапазоны, я знаю, что этот код не будет эффективным, потому что это займет много времени.
Я передаю два кода, которые работают , но неэффективны .
Код 1:
Sub dolartopesos()
'Routine to pass to pesos all the prices of the products of each supplier that are in dollars.
dollars = Worksheets(3).Range("R1")
'---------------------------------------------------
With Worksheets(3)
'Currency exchange
For i = 5 To 25
.Cells(i, 4) = .Cells(i, 4) * dollars
Next i
End With
'---------------------------------------------------
End Sub
Код 2:
Sub dolartopesos()
'Routine to pass to pesos all the prices of the products of each supplier that are in dollars.
dollars = Worksheets(3).Range("R1")
'---------------------------------------------------
''Currency exchange
Dim rng As Range: Set rng = Worksheets(3).Range("D5:25")
Dim cel As Range
For Each cel In rng.Cells
With cel
cel = Application.WorksheetFunction.Product(cel, dollars)
End With
Next cel
'---------------------------------------------------
End Sub
Оба кода требуют слишком много времени для умножения в этот диапазон.
Что я могу сделать, чтобы ускорить умножение?
Любой вклад будет приветствоваться. От уже большое спасибо.