VBA & Excelで生成されるレポートが多数あります。わずかな割合のレポートしか実際の計算ではありません。大部分の処理は、SQL呼び出しとセルの書式設定/書込みです。一番長いものは数時間で、大部分はそれぞれ20-30分程度かかります。無料のVB6/VBAプロファイラとExcelのベストプラクティス
VB6デスクトップアプリケーションで使用されるDLLにVBA/Excelコードがプラグインされます。ここではすべてのSQL呼び出しが行われます。私はここに改善の余地があると確信していますが、それは私にとって心配なことではありません。デスクトップアプリケーションはかなりうんざりです。
2つのVBA関数が豊富に使用されています。これらは、GetRangeおよびSetupCellと呼ばれ、ほぼ常に一緒に表示されます。 GetRange関数は、Excel.Rangeオブジェクトのラッパーです。それはシートをとり、範囲の範囲に対して4つの値をとります。主な用途は、編集のためにセルを選択することです。それをoptmisingの多くのチャンスがあるようには表示されませんが、それは最善の方法ですか?
そのパートナーはSetupCellです。これはExcel.Rangeオブジェクト、テキスト、セルに関する十数のパラメータ(フォント、枠線など)を取ります。これらのパラメータのほとんどはオプションのブール値ですが、やはり非常に無駄に思えます。これらのうちのいくつかは死後に設定することができますが、一部はセルに含まれる値に依存します。
これらの機能には非常に多くのコードが含まれていますが、主にステートメントや作業で投稿できない場合があります。 がより良い方法はあり、それは何とは、私は時間の大部分はここまたはDLLであるかどうかを確認するために使用できる無料のプロファイラがあります:
は、私は二つの質問を持っていると思いますか?
それほど簡単ではありません。レポートの長さが異なる必要があり、セルの一部(またはセルの合計)に応じていくつかのセルを着色する必要があります。 –
SSRSはあなたが投げるほとんどすべてに対処することができます - 私はこの答えの2番目です。 –