|
B2〜B51に入るDDEでリアルタイムに更新されるデータの最大値をそれぞれC2〜C51に、最小値をそれぞれD2〜D51に記録するために以下の3つのプロシージャを考えています。
1つ目)
Private Sub Worksheet_Calculate()
If Range("B2").Value > Range("C2").Value Then Range("C2").Value = Range("B2").Value
If Range("B2").Value < Range("D2").Value Then Range("D2").Value = Range("B2").Value
If Range("B3").Value > Range("C3").Value Then Range("C3").Value = Range("B3").Value
If Range("B3").Value < Range("D3").Value Then Range("D3").Value = Range("B3").Value
・・・省略・・・(これがあと48組続きます)
End Sub
2つ目)
上記1つ目をforループを使って作る。
3つ目)
Private Sub Worksheet_Calculate()
If Range("B2").Value > Range("C2").Value Then Range("C2").Value = Range("B2").Value
If Range("B2").Value < Range("D2").Value Then Range("D2").Value = Range("B2").Value
End Sub
Private Sub Worksheet_Calculate()
If Range("B3").Value > Range("C3").Value Then Range("C3").Value = Range("B3").Value
If Range("B3").Value < Range("D3").Value Then Range("D3").Value = Range("B3").Value
End Sub
・・・省略・・・(これをあと48組作る)
上記3つのプロシージャに関して2つ質問があります。
1つ目)上記3つのプロシージャは全く同じ動作をするのでしょうか?3つ目だけ違う気がするのですが・・・。
2つ目)上記3つのプロシージャで一番メモリの消費量が少ない(動作が速い)のはどれなのでしょうか?
どなたか教えてください。
よろしくお願いいたします。
|
|