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 に答える