ExcelVBAエラー「削除されたレコード: /xl/worksheets/sheet.xml パーツ内の並べ替え」の対処法
Excelマクロを作っていった過程でこんなエラーに見舞われました。そのマクロを仕込んだExcelファイルを開く際に発生するものです。「削除されたレコード: /xl/worksheets/sheet3.xml パーツ内の並べ替え」とはどんなエラーなのか?
その原因はVBAソース内に以下のような並び替えするコードがある場合に置きます。このようなコードはマクロの記録で生成させてそのまま転用させるケースが多いのでしょう。マクロで繰り返し使うことでSordKeyが被ってしまうことによるエラーです。
Sheets("Sheet1").sort.SortFields.Add Key:=Range("A6:A100"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With Sheets("Sheet1").sort .SetRange Range("A5:AB100") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
これを解決させるためには、SortFieldsをクリアすることが必要になります。1行目を加えればOKです。
Sheets("Sheet1").sort.SortFields.Clear '追加 Sheets("Sheet1").sort.SortFields.Add Key:=Range("A6:A100"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With Sheets("Sheet1").sort .SetRange Range("A5:AB100") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
スポンサーリンク