2016-08-10 22 views
-1

私はVBAを使ってコードを書く機会がありました。私が行ったVBAスクリプトのほとんどは、フォアグラウンドでExcelを使用してきたもので、コードが実行されている間はファイルにアクセスできないものです。VBAより優れたもの

今、私は、フォアグラウンドで行われているのと同じ方法でバックグラウンドを維持し、細胞の更新を行う方法があるかどうかを知りたいのです。


アップデート1: - 背景によって iは、ファイルがデスクトップ上に開いたままにされていないことを意味しますが、プログラムによってアクセスされています。

+0

あなたのUIがすべてUserFormsで完了している場合は、 'Workbook_Open()'に 'Application.Visible = False'を設定してフォームを表示できます。 – Comintern

+0

-ve投票をした理由を教えてください。 –

+0

それは私がdownvoted誰ではないが、あなたの質問は非常に明確ではない、あなたはここのガイドラインに従って改善することができます:http://stackoverflow.com/help/how-to-ask – User632716

答えて

0

それはあなたが背景と前景で何を意味するかを正確に理解することは難しいのですが、あなたのマクロは(minuitsのような)を実行するために時間がかかりすぎている場合、ここの記事から以下のものを追加してみてください:

https://blogs.office.com/2009/03/12/excel-vba-performance-coding-best-practices/

With Application.Excel 
    .ScreenUpdating = True 
    .DisplayStatusBar = True 
    .Calculation = xlCalculationAutomatic 
    .EnableEvents = True 
End With 
:最後にこれを

With Application.Excel 
    .ScreenUpdating = False 
    .DisplayStatusBar = False 
    .Calculation = xlCalculationManual 
    .EnableEvents = False 
End With 

と:基本的にあなたのコードの先頭にこれを追加

また、私は最大のパフォーマンスは、一般的に、アップグレードの計算を非アクティブ化が付属していることを発見した個人的にかかわらず、最後 で

ActiveSheet.DisplayPageBreaks =冒頭に」偽と真を使用することができます。

+0

私はこのオプションを知っているそれ。 –

0

application.ScreenUpdating=Falseをお探しですか?これは、実行中のすべてのマクロ操作を非表示にします。マクロの実行中にExcelを実行させようとしていますか?その場合、最初にExcelの2つのインスタンスを開き、1つのマクロでマクロを実行し、もう1つのマクロで作業します(ただし、両方とも同じファイルでは動作しません)。

関連する問題