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
スポンサーリンク
