2017-06-05 10 views
1

Excel 2013で異常な問題があります。SQLからデータを取り出し、HTMLファイルを生成してからタブにインポートするVBAスクリプトがあります。以前に生成されたデータに依存する数式の再計算コール。 Calculate_AllOpenWorkBooksへの呼び出しまで期待通りExcel VBA Application.Calculateは機能しませんが、Ctrl + Alt + F9は

Sub Calculate_AllOpenWorkBooks() 

Application.Calculate 

End Sub. 

だから、すべてが動作します...ここで

Sub RefreshData() 

Task1 ' run 1st query and generate HTML file 
Task2 ' run 2nd query and generate HTML file 
. 
. 
. 
Taskn ' run nth query and generate HTML file 
RefreshDataInTabs ' refresh all tabs with generated HTML files 
Calculate_AllOpenWorkbooks ' calculate all formulas that depend on data obtained in Tasks above 

End Sub 

を計算するための呼び出しです:

は、ここで基本的な構造です。数式を含むセルは更新されません。 「自動」ワークブック計算は、「Excelオプション」の「計算オプション」ウィンドウで選択されます。手動データ - >すべて更新すると機能しませんBUT Ctrl + Alt + F9が機能します!

私はこの事をどのようにデバッグするのか迷っています。何かフィードバックをいただければ幸いです。ありがとうございました。

よろしく、私は

のSendKeys「{F9}」

あり10msの遅延があるが、それは動作し、あなたがそれを使用することができますを使用して終了し、問題を解決しようとする多くの試みの後

+0

'application.CalculateFull'はどうですか –

答えて

1

コード。 必要に応じて、Ctrl + Alt + F9の "^%{F9}"キーを送信することもできます。

幸運を祈る!

関連する問題