2017-09-01 17 views
0
Public Sub Reopen() 

Application.ScreenUpdating = False 
Application.DisplayAlerts = False 
Workbooks.Open "K:\notarealpath\Testamundo.xlsm" 

End Sub 

ワークブックを閉じて再オープンする必要があります。これはボタンに割り当てられているので、動作しているように見えます。クリックすると、そのワークブックを再び開きますかどうかを尋ねます。良い本です。このVBAのクラッシュはなぜ優れていますか?

時にはそれは一度動作し、その後Excelを完全にクラッシュさせます.VBA画面に戻ると、クラッシュ後にメモリが不足していると文句を言います。

+2

マクロを閉じて再オープンしようとしているブックの外部ですか?また、開く前にブックを閉じますか?私はあなたが上記のコードでそれを行うのを見ることができません。既に開いているワークブックを開こうとするとクラッシュする可能性があります – Tom

+1

また、「更新」という意味を定義しますか?より良い解決策であるかもしれないデータソースまたは他のものを再計算または再プルする多くのオプションがあります。 –

+0

ThisWorbook.Openの下に何かが呼び出されていますか? –

答えて

0

あなたはclose、delayを使ってみましたか?同じマクロで開きましたか?これが作業中のブックの外に保存されていることを確認してください(おそらく、XLSTARTで保存されたマクロを参照するクイックボタン)。

Workbooks("Testamundo.xlsm").Close SaveChanges:=False 
Application.Wait Now + TimeValue("00:00:05") 
Workbooks.Open "K:\notarealpath\Testamundo.xlsm" 
+0

これはブックを閉じて、再度開くことはありません。 その後、空白の画面が表示されます。 – Steve101

+0

@ Steve101私はローカルドライブとファイルを使ってこれをテストしました。マクロはXLSTARTフォルダの中に.xlaとして保存されていて、私のために働いていました。 Excel 2016を使用していますが、違いはありません。 2つの点を確認してください:システムクロックが正しく更新されています(時刻はNowからシステムクロックに変わります)。使用しているパスが正しいことを確認してください。 – Cyril

+0

それはクラウドセッションのため、すべてが最新で正しいとわかっています。フォルダパスは正しいとは限りません。 また、私は2013年です。 – Steve101

関連する問題