我一直在努力加快以下代码的速度。基本上,我需要将Excel中的单元格复制到下一个填充单元格。但是,在只有100行的文件上,完成需要将近10秒钟。当工作表长达一千行或更长时,这可能会有问题。我尽力研究这个问题。我所拥有的代码是我在这里和其他地方找到的东西。
我是新手程序员,所以我的问题是:
如何加快这一过程?
为什么这么慢?
(更好的代码)如何更有效地工作?
' *****Copy data down in columns A and B*****
'Copy data in column A until next cell with a value, then get that value and copy on...
Set objWorksheet = objExcel.Worksheets(1)
objWorksheet.Activate
Set objRange = objWorksheet.UsedRange
objRange.SpecialCells(xlCellTypeLastCell).Activate
intLastRow = objExcel.ActiveCell.Row
For k = 3 to intLastRow
If objExcel.Cells(k, 1).Value = "" Then
Set objRangeCopy = objExcel.Cells(k - 1, 1)
objRangeCopy.Copy
set objRangePaste = objExcel.Cells(k, 1)
objRangePaste.Value = objRangeCopy
End If
Next
'Do the same with Column B
For k = 3 to intLastRow
If objExcel.Cells(k, 2).Value = "" Then
Set objRangeCopy = objExcel.Cells(k - 1, 2)
objRangeCopy.Copy
set objRangePaste = objExcel.Cells(k, 2)
objRangePaste.Value = objRangeCopy
End If
Next