1
ページ10までgoogleを検索しましたが、解決策が見つかりませんでした。 VBAにループがありますが、シートが再計算されるまで処理を続行するまで待つ必要があります。 ほとんどの人がDoEventsを採用しています。しかし、それは私にとってはうまくいかない。ここでシートが再計算されるまでVBAループを一時停止します
は、シートが計算されるまで待機しない、これまでの私のコードです:
Sub Replaceifrebalance()
Dim x As Integer
NumRows = Range("CF16", Range("CF16").End(xlDown)).Rows.Count
Range("CF16").Select
For x = 1 To NumRows
If Range("CF" & x).Value > 0 Then
Range("AW15:BF15").Select
Application.CutCopyMode = False
Selection.Copy
Range("AW1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AW" & 1 & ":BF" & 1).Copy Worksheets("Timeseries").Range("BI" & x & ":BR" & x)
Application.Calculate
If Not Application.CalculationState = xlDone Then
DoEvents
End If
End If
Next
End Sub
はこの1よりも誰も今別のソリューションをい?:
Application.Calculate
If Not Application.CalculationState = xlDone Then
DoEvents
End If
すべてのヘルプは大歓迎です。