2017-03-24 26 views
0

レコードをフィルタするマクロを持つExcelファイルがあります。マクロを実行した後、ファイルを保存して閉じます。私は再度ファイルを開くと、ファイルが破損していることを述べている:VBAソートレコードでのExcel破損

Excel found unreadable content in '[filename].xls'. 
Do you want to recover the contents of this workbook? 
If you trust the source of this workbook, click Yes. 

私はクリックするとはい、ファイルが開いて、私は次のことを見つけるに私を指示xmlファイルを見て:

<?xml version="1.0" encoding="UTF-8" standalone="true"?> 
-<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> 
    <logFileName>error050360_01.xml</logFileName> 
    <summary>Errors were detected in file 'C:\xxx\file.xlsb'</summary> 
    -<removedRecords summary="Following is a list of removed records:"> 
     <removedRecord>Removed Records: Sorting from /xl/worksheets/sheet11.bin part</removedRecord> 
    </removedRecords> 
</recoveryLog> 
Sheet11オン

私は、次の並べ替えのコードがあります。

LastRow = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.Count - 1, 0).End(xlUp).Row 
Range("A3").Select 
ActiveWorkbook.Worksheets("AP_PV").Sort.SortFields.Clear 
ActiveWorkbook.Worksheets("AP_PV").Sort.SortFields.Add key:=Range("A4:A" & LastRow) _ 
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
With ActiveWorkbook.Worksheets("AP_PV").Sort 
    .SetRange Range("A3:B" & LastRow) 
    .Header = xlYes 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 

を私はLASTROW> 4は、ソートを除外するかどうかを確認するために選択範囲(「A3」)の前に条件を追加しようとしたが、idはどんな違いがありませんでした。

何が腐敗の原因となっているか、どのように回避するかについてのアイデアはありますか?

答えて

1

私はこれをコメントするだけでリンクを提供していますが、私はまだ50の評判を持っていません。

Google検索は可能な解決策をたっぷり使って、数年前からSEスレッドを上げ:Excel Error: Removed Records: Sorting from /xl/worksheets/sheet10.xml part

作業する可能性が最も高い

は、このいずれかになります。

Sheets(yoursheetname).Sort.SortFields.Clear 

は、あなたのソート機能の後にあることを置きます(またはファイルを保存する前に)、問題が解決されるはずです。

うまくいけばうまくいきます。