|
γ さん:
返信ありがとうございます。
2つの投稿とも読ませていただきました。
>まずはインデントをしっかりつけることをお勧めします。
>理解しやすさ、デバッグのしやすさが断然違うはずです。
なるほど。そうですね!
インデントするのが面倒だなぁと思っていたのですが
インデントしてある方が見やすいですね。
次からはきちんとインデントするようにします。
>結果が得られることが最大の目的ですので、これはこれでよいのですが、
>細かいことを申し上げれば、次の2点が浮かびます。
>
>(1)Cells(n - 2, 1).Value とCells(n - 1, 1).Valueがたくさん出てきて見にくいです。
> Don't Repeat Yourself(同じ事を繰り返すな)ということを言いますが、
> 例えば、変数でいったん受けてから、判定をすれば、もっと見やすくなるでしょう。
>
> a = Cells(n - 2, 1).Value
> b = Cells(n - 1, 1).Value
> If a = 3 And b = 2 Then Cells(n, 1).Value = 4
> If a = 3 And b = 4 Then Cells(n, 1).Value = 2
> ・・・・・
私自身も、
同じのばっかりで見にくいなぁと思っていました。
なるほど、そういう風に変数に代入してしまうと、すっきりして見やすくなるのですね!
>(2)マッチしたとしても、その後も続けて最後まで判定するので無駄です。
> なにか工夫が必要でしょう。
そうなのです。
でも、今の私では、これが精一杯でした…。
どのように改善したらいいのか、今後VBAを勉強して、調べたいと思います。
>Dictionaryを使わない版も示しておきましょう。
>たぶん、こちらのほうが理解し易いでしょうし、
>追加の加工もし易いはずです。
わざわざDictionaryを使わないバージョンまで作っていただいて…
本当にありがとうございます!
そうですね。私としては、Dictionaryを使わない方が
どんなふうにプログラムが組まれているのか見やすいなと思いました!
なにからなにまで、
本当にありがとうございました。
|
|