つづき
(2)セル内容の取り込みを限定した。(下図枠内)
今までは6行3列のセル内容を全て取り込んでいたが、先頭行が空白の列は
取り込まないように変えた。先頭行が空白なら、その列は無効な為である。
(3)セルの書き込みを纏めて行うように変えた。(下図下線部)
セル毎に書き換えるのではなく、セル範囲に配列を書き込むようにした。
射撃戦、士気チェック、白兵戦のモジュールは全て改修した。
4.エラーで苦戦した内容
(1)配列の添え字の最小値
今までは添字付きで代入していたが、添字なしで代入する場合に初期設定では
最小値が0から始まる事に気付かなかった。上図の下線部2番目が該当する。
対策はメイン(サブの外側)でOption Base 1を宣言する。
(2)配列を縦方向のセルに代入できない。
対策はTranspose関数を使う。(下図下線部)
5.参考資料
下記のWEBページにお世話になりました。ありがとうございます。
・配列を使う
・VBAで2次元配列の初期化と利用方法
・Option Base
・【VBA】配列の格納とセルへ範囲指定して貼り付け【Resizeが便利】
<個人的な感想>
今回の改修は大規模だったので、もっと高速化ができると期待した。
その為、1.3秒の短縮にはガッカリした。3秒は短縮したかった・・・。