涉及到提取表格大量数据操作,复制粘贴多个单元格时,尽量避免一个个单元格提取,或者一行行一列列提取数值,设计大量IO流操作非常浪费时间。尽量找出数据之间的规律,批量选中复制粘贴,找到利用双指针或者其他算法找到连续行或者列的规律进行批量操作。往往能几十倍的提升代码运行效率,一下
Range(“A1:B3”)
选中多行

粘贴后

选中区域顺序按照原先顺序
Dim MyArea1, MyArea2, MyArea3 As Range
Set MyArea1 = Range(“A1:B3”)
Set MyArea2 = Range(“A7:B10”)
Set MyArea3 = Range(“A12:B14”)
Application.Union(MyArea1, MyArea2, MyArea3).Select
粘贴->选择粘贴->转置

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.ScreenUpdating = False
Application.ScreenUpdating = True
Application.Calculation = xlManual
Application.Calculation = xlCalculationAutomatic