У меня есть вкладка шаблона, которую мне нужно заполнить для каждого номера из списка.Мой код ниже в основном копирует вкладку шаблона для каждого номера в списке и переименовывает его в соответствии с номером из списка.Например, если в списке существует число 1000, то будет создана новая вкладка (идентичная вкладке шаблона), которая называется 1000 и содержит информацию об идентификаторе 1000. Проблема, с которой я сталкиваюсь, заключается в том, что для выполнения кода требуется ДЛИННОЕ время,Список содержит около 300 номеров и занимает около 10 минут.
Мой код очень прост (извиняюсь, но я не обладаю большим опытом работы с VBA).Кроме того, он вызывает другую подпрограмму, которая также очень проста.
Не могли бы вы сообщить мне, что потенциально может минимизировать время работы?
Большое спасибо за ваше время заранее.
Sub NEW_ID()
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Dim no_loans As Long
Dim MyRange As Range
no_ids = Sheets("List of IDs").Range("C2")
Set MyRange = Sheets("List of IDs").Range("D3:D1000")
For i = 1 To no_ids
Sheets("Template").Copy after:=Worksheets(Sheets.Count)
ActiveSheet.Name = MyRange(i)
ActiveSheet.Range("L1").Value = MyRange(i)
Call new_collateral
Next i
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
End Sub
Sub new_collateral()
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Dim coll As Long
Dim LastRow As Long
coll = ActiveSheet.Range("N1")
For i = 1 To coll - 1
LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Range("A184:J245").Copy
ActiveSheet.Range("A" & LastRow).PasteSpecial
ActiveSheet.Range("L" & LastRow).Value = i + 1
Next i
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
End Sub