【Excelマクロ】パーツ内の並べ替え(エラー)

Excelを開いた時に出るエラー「問題が見つかりました」

Excelファイルを開くと、上記のエラーが出た。
「はい」をクリックすると、さらに以下のログが。

Excel修復ログ「パーツ内の並べ替え」

削除されたレコード:[XXX] パーツ内の並べ替え

原因

このファイルにはマクロが組み込まれていた。

パーツ内の並べ替えという事なので、ソート関係かと思って調べると、以下のソースに問題があった。

'ソート
ThisWorkbook.Sheets("シート名").Sort.SortFields.Add Key:=Range("A1"), Order:=xlAscending
ThisWorkbook.Sheets("シート名").Sort.SetRange Range("A1:D100")
ThisWorkbook.Sheets("シート名").Sort.Apply

上記ソースで、A列昇順でソートをしていたが、最後に以下のコードが抜けていた。

ThisWorkbook.Sheets("シート名").Sort.SortFields.Clear

ソート後、SortFields.Clearしないと上記のエラーが発生する場合がある。

おそらく、ソート用のテンポラリシートの参照だけが残っていて起こるエラーだったと思われる。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください