【发布时间】:2021-09-06 20:54:59
【问题描述】:
我正在尝试将示例参考卡中的范围复制到另一张工作表中,并将此范围作为行多次插入到现有工作表的上方。
现在我有代码可以插入这个范围一次:
Sub Nova_karta_export()
Sheets("nova_karta").Select
Rows("3:42").Select
Selection.Copy
Sheets("Export").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown
End Sub
我能够修改它以根据导出表中单元格“V1”中的值多次插入此范围。但是运行这个版本的计算量很大。
Sub Nova_karta_export_X_krat()
Dim numberoftimestorun As Integer
Dim i As Integer
numberoftimestorun = Sheets("Export").Range("V1").Value
For i = 1 To numberoftimestorun
Sheets("nova_karta").Select
Rows("3:42").Select
Selection.Copy
Sheets("Export").Select
Rows("3:3").Select
Selection.Insert Shift:=xlDown
Next i
End Sub
如果我插入范围,例如十次,计算速度非常慢。我甚至需要添加 50 多个范围。
我怎样才能加快这个过程?通过变量? 以及如何通过消息窗口插入重复次数?我希望用户可以在运行宏后将重复次数写入窗口而不依赖于单元格“V1”
感谢您的帮助。
【问题讨论】:
-
阅读How to avoid using Select in Excel VBA可能会让您受益。