時にクリックしたときには、私は多くの時間がかかるこのループでマクロを持っている:VBA - マクロ仕上げはるかに速く、私はプロセス
Dim tempval As String
Dim row As Integer, col As Integer
Application.ScreenUpdating = False
For row = 2 To 500 Step 1
tempval = ""
For col = 7 To 15 Step 1
tempval = tempval & Cells(row, col).Value
Cells(row, col).Value = ""
Next col
Cells(row, 7).Value = tempval
For col = 8 To 16 Step 1
tempval = tempval & Cells(row, col).Value
Cells(row, col).Value = ""
Next col
Cells(row, 8).Value = tempval
Next row
Application.ScreenUpdating = True
Range("LibAnglais2:LibAnglais9").Select
Selection.Delete Shift:=xlToLeft
Range("LibFrancais2:LibFrancais9").Select
Selection.Delete Shift:=xlToLeft
コードが前に、このループの後、あります。 このループでは、コードの終了に3分かかります。それなしでは、30秒かかる。 しかし、ループ中にExcelのウィンドウをクリックすると(プログラムが実行されたときに、クリックすると、ウィンドウが白くぼやけた画面になります)、マクロをクリックして約45秒後に終了します...
Doなぜアイデアがありますか?そして、これを修正してより速いマクロを作るにはどうすればいいですか?
たぶんApplication.Calculation = xlCalculationManualは – gizlmo
いいえ、それは動作しません(ループの前)に役立ちます。 :/ – Ikanagura
単純な 'cells(a、b).value =" "'がコンピュータを遅くし、変更した場合は、次の行の前にDoEventsを追加してください。 – ib11