他のワークブックとそのマクロを呼び出すために使用するワークブックを作成しました。私はボタンにサブ "ナップ"を割り当てました。私は、更新が必要なときはいつでも押すでしょう。しかし、ボタンを押してブックを開き、マクロを呼び出すと、vbaは特定のワークブックの計算が完了するのを待たずに続行し、次のワークブックのオープンを開始します。私はコマンドApplication.waitを使用しようとしましたが、動作しないようです。それは待つことになるが、平均時間のバックグラウンドでは計算されない。複数のサブを一度に1つずつ実行する
Sub Knap()
Call LongerSeries
Application.Wait (Now + TimeValue("00:03:00"))
Call QuickCorrelation
Application.Wait (Now + TimeValue("00:03:00"))
Call SPX
End Sub
Sub LongerSeries()
Workbooks.Open ("G:\FONDS\Quick financials_Longer Series (2).xlsb")
Application.Run "RefreshData"
End Sub
Sub QuickCorrelation()
Workbooks.Open ("G:\FONDS\Quick correlation_1.xlsb")
Application.Run "RefreshData"
End Sub
Sub SPX()
Workbooks.Open ("G:\FONDS\Quick Intra Corr (SPX)_1.xlsb")
Application.Run "RefreshData"
End Sub
VBAコードに 'Calculate'を書くことで計算を強制することができます。その後、それは待つだろう。 – Vityata
サブの "knap" inbetweenの中でsubsを呼び出していますか? –