0

我目前For ... Each在我的代码中使用了很多循环,这大大降低了它的速度,有没有更快的方法?

我听说我可以将范围复制到数组并编辑数组并将其粘贴回来,但我在编辑数组中的每个单元格时遇到了一些问题。

这是我正在使用的每个代码的电流 - 谢谢。

Dim cell As Range
    For Each cell In Sheets("sheet1").UsedRange
        cell.Value = cell.Value
Next cell
4

2 回答 2

3

试试这个 - 更快更高效:

Sheets("sheet1").UsedRange.Value = Sheets("sheet1").UsedRange.Value 
于 2012-11-01T14:09:22.533 回答
2

这些方面的东西:

Dim aCells As Variant
Dim x As Long
Dim y As Long

aCells = Sheets("Sheet1").UsedRange

' Now do something with the array;
' We'll debug.print the contents of each element
'   to verify that it matches the cells in the sheet
For x = 1 To UBound(aCells, 1)
  For y = 1 To UBound(aCells, 2)
    Debug.Print aCells(x, y)
  Next
Next
于 2012-11-01T14:11:07.807 回答