消そうとするとフリーズする数式
2021年04月20日
今回のPRA関係の話。
あるデータを変換して出力する処理を永遠とやっているPCがあって、
PCの空き容量が心配になったのでDirコマンドで全ファイル検索。
詳細は過去の記事[ファイル一覧解析マクロ]を参照。
(今使っているものとちょっと違うので、再掲載だな)
フォルダ内の全ファイルのサイズと更新日時を取得したので、
更新日時順にならべて、ファイルサイズを1行目から対象行までをSumで計算。
(例 : E3なら = sum($D2:$D3)
実はこの数式が厄介で、1行目のセルの値を変更すると全行の値が更新される。
当然、自動再計算はオフに設定して操作するんだけど、
このSumを計算している列を消そうとするとエクセルがフリーズする。
1万行なら帰ってくるけど、5万行超えたあたりから帰ってくる素振りがない。
列の削除もだめ、範囲を選択してDeleteボタンもだめ、空白セルをコピーしてもだめ。
どの操作もエクセルが上から処理するのがいけないと思いつき、
選択範囲の下から数式を削除するマクロを組んでみたらビンゴ!
無事消すことができた。
以下、ソース。
あるデータを変換して出力する処理を永遠とやっているPCがあって、
PCの空き容量が心配になったのでDirコマンドで全ファイル検索。
詳細は過去の記事[ファイル一覧解析マクロ]を参照。
(今使っているものとちょっと違うので、再掲載だな)
フォルダ内の全ファイルのサイズと更新日時を取得したので、
更新日時順にならべて、ファイルサイズを1行目から対象行までをSumで計算。
(例 : E3なら = sum($D2:$D3)
実はこの数式が厄介で、1行目のセルの値を変更すると全行の値が更新される。
当然、自動再計算はオフに設定して操作するんだけど、
このSumを計算している列を消そうとするとエクセルがフリーズする。
1万行なら帰ってくるけど、5万行超えたあたりから帰ってくる素振りがない。
列の削除もだめ、範囲を選択してDeleteボタンもだめ、空白セルをコピーしてもだめ。
どの操作もエクセルが上から処理するのがいけないと思いつき、
選択範囲の下から数式を削除するマクロを組んでみたらビンゴ!
無事消すことができた。
以下、ソース。
Comment