インターネットからデータを取得するExcel関数があります。問題は、関数の実行に時間がかかり、すべてが遅くなることです。
セルの数式を変更せずにセルの値を変更できるとしたら、すばらしいことです。したがって、=GetNumOfEmployee()
0 を返す関数をすぐに呼び出して、結果が得られたときにアドインから呼び出すと、そのセルの値をたとえば 100 に置き換えることができます。私がそうすると、フォーミュラが失われ、私はそれが起こりたくありません.
数式を保持するために私がしたことは、次のようにしてセルの書式を変更することでした:
this.Application.ActiveCell.NumberFormat = 5;
アクティブ セルが 0 の場合、そのコード行は値を 5 に置き換えます。これは非常にクールです。数式を保存することができ、新しい値が得られます。
このアプローチの問題は、多くの計算が行われ、次の行を書くたびに次のようになることです。
this.Application.ActiveCell.NumberFormat = 1234;
Excel はその書式を次の場所に保存します。
そしてすぐに、Excel で可能な書式設定の最大数に達します。そのリストには 1 分で約 500 のフォーマットがあり、すぐにそれらを削除できなくなります。プログラムでそれらを削除すると、Excel の動作が遅くなり、フォーマットを削除するたびにマウスのアイコンが回転するウィンドウが表示されます。
つまり、必要な結果が得られたら、セルの式をアドインから変更せずにセルの値を置き換えたいと思います。セルの右側に値を配置する必要がありますか?