先日の記事でマクロが動作しない件を書きましたが、一つが解決したので備忘録として残しておきます。
マクロの動作としては、同じフォーマットで作られたエクセルブックのデータを一つのブックにまとめるともの。
ブックの数は、300超でした。
Excel2007で使用していたままExcel2013(win7-64bit上)で動かすと、途中で止まってしまっていました。
何度か試すと、止まる個所が一定ではないことに気づきました。
ネットで検索してみたところ、loopによってOS側が”応答なし”と判断してしまっているようだと。
マクロコードの記述は以下
Do while buf<>""
・
・
copy&paste
・
・
Loop
この繰り返し処理の中に、一行
DoEvents
を記述したところ、途中で止まることなく処理を終了できました。
ちなみに、新PCになったことで、処理時間は15%UPしました。
約15000件のデータ処理にかかる時間としては、30秒ほどの時間短縮でした。
この記事へのトラックバック
この記事へのコメント