忍者ブログ

消そうとするとフリーズする数式

2021年04月20日
今回のPRA関係の話。

あるデータを変換して出力する処理を永遠とやっているPCがあって、
PCの空き容量が心配になったのでDirコマンドで全ファイル検索。

詳細は過去の記事[ファイル一覧解析マクロ]を参照。
(今使っているものとちょっと違うので、再掲載だな)



フォルダ内の全ファイルのサイズと更新日時を取得したので、
更新日時順にならべて、ファイルサイズを1行目から対象行までをSumで計算。
(例 : E3なら = sum($D2:$D3) 

実はこの数式が厄介で、1行目のセルの値を変更すると全行の値が更新される。

当然、自動再計算はオフに設定して操作するんだけど、
このSumを計算している列を消そうとするとエクセルがフリーズする。
1万行なら帰ってくるけど、5万行超えたあたりから帰ってくる素振りがない。

列の削除もだめ、範囲を選択してDeleteボタンもだめ、空白セルをコピーしてもだめ。

どの操作もエクセルが上から処理するのがいけないと思いつき、
選択範囲の下から数式を削除するマクロを組んでみたらビンゴ!

無事消すことができた。

以下、ソース。


Sub Selection_下から数式を削除()
Dim i as Long
for i = Selection.Count to 1 step -1
Selection(i)=""
next i
End sub
PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字