VBA初心者です。 現在勤怠表を制作しております。 csvにてデータを読み込み、計算して表にしています。 出勤時間より遅かったら「 遅刻 」と表示させていますが、 「 午前給 」や「 遅延 」などで出勤時間や勤務時間を再計算したいため、 「 Worksheet_Change 」でセルの値が変わった場合の処理を書いています。 これにより「 遅刻 」から「 午前給 」に変えると出勤時間が「 9時 」から「 13時 」に 自動で変換されひも付いたほかのデータも変わるようにしました。 ここまではいろいろありましたが試行錯誤しできたのですが、 やたらと処理が重くなってきました。 当初は「 150KB 」ほどのエクセルデータが、現在は「 3500KB 」ほどになり、 2秒で終わっていた読み込みも2分以上かかるようになりました。 そこで、自分なりに調べた結果、「 メモリーの解放 」と言うキーワードにたどり着いたのですが、 いまいちよくわかりません。 もともとのやり方が問題なのか、cavの読み込みが問題なのか、Changeイベントが問題なのか。。。 配列などはほとんど使っておりません。 for文とif文で構成されております。 長々とわかりにくい質問で申し訳ございません。 なにかヒントでもいいので教えて頂けたら幸いです。 よろしくお願い致します。
↧