Вам не нужно добавлять строки в l oop, поскольку вы знаете, сколько строк нужно добавить. Добавление всех v
строк за пределами l oop сразу должно ускорить код.
'Add rows
ExpectedFeesTbl.Rows(lRow + 1).EntireRow.Resize(v).Insert Shift:=xlDown
'Copy information to new rows
For q = 1 To v
ExpectedFeesTbl.ListRows(lRow).Range.Copy
ExpectedFeesTbl.ListRows(lRow + 1).Range.PasteSpecial Paste:=xlPasteFormats
ExpectedFeesTbl.ListRows(lRow + 1).Range.PasteSpecial Paste:=xlPasteFormulas
lRow = lRow + 1
Next q
Application.CutCopyMode = False
обратите внимание, что я добавил lRow = lRow + 1
, потому что в вашей исходной стоимости определение lRow не изменилось и, следовательно, каждая итерация l oop скопирована и вставлена в одни и те же места.
Дополнительно , возможно, можно будет свести копирование-вставку к структуре, которая не требуется al oop. Это зависит от структуры вашей книги