teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントを元に表現、内容の修正

2018/11/06 15:30

投稿

imihito
imihito

スコア2166

answer CHANGED
@@ -1,11 +1,13 @@
1
- マクロではありませんが、計算方法を手動にしておくのではダメなのでしょうか?
1
+ マクロではありませんが、計算方法を手動にしておくのではダメなのでしょうか?
2
2
 
3
3
  > [Excel のパフォーマンスの障害物のパフォーマンスを最適化するためのヒント](https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/excel-tips-for-optimizing-performance-obstructions?f=255&MSPPError=-2147217396)
4
4
 
5
- 上記のサイトによると、ワークシート関数とユーザー定義関数で同じロジックで計算をした場合、ユーザー定義関数の方が遅くなるそうです。
5
+ 上記のサイトによると、ロジックはそのままでワークシート関数とユーザー定義関数それぞれで計算をした場合、ユーザー定義関数の方が遅くなる傾向があるそうです。
6
+ 数式をマクロの強みが活きる形で落とし込めれば、はるかに高速にもできるようですが。
6
7
 
8
+
7
- もしユーザー定義関数を使うと軽く感じるのであればそれは値の自動更新がされないためだと思われます。
9
+ また、`Evaluate`を使った場合すが、値の自動計算がされない可能性があります。
8
- 値が自動更新されないということは、表示されている値が正しいのか信用できないことになります。
10
+ 値が自動計算されない場合計算方法を「自動」にしていても表示されている値が正しいのか信用できないことになります。
9
11
  再計算させるにしても、「再計算実行(F9)」は効果が無いため、ちょっと面倒な操作をする必要があります。
10
12
 
11
- ここまでの話を踏まえて、計算方法を手動にした方が良いのではないか?という意見です。
13
+ ここまでの話を踏まえて、計算方法を手動にした方が良いのではないか?という意見です。