[英]Excel VBA, sorting, saving, closing, then opening
我有兩個Excel文件,分別為file1.xlsm和file2.xlsm; 我有一個數據表,而另一個則有其他東西。 在第二個文件中,我還有一個打開第一個文件的按鈕。
在第一個文件中,我有一個按鈕,它使用A列作為鍵對所有數據進行排序,還有一個按鈕,用於保存和退出。
我的排序代碼:
Private Sub CommandButton2_Click()
Dim lRow As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row
With ActiveSheet.Sort
.SortFields.Add Key:=Range("A3"), Order:=xlAscending
.SetRange Range("A3:AF" & lRow)
.Header = xlNo
.Apply
End With
End Sub
問題是排序,保存並退出后,我無法通過VBA重新打開同一工作簿(該按鈕不執行任何操作); 我可以單擊該文件,然后將其打開,但出現一個錯誤,提示我有問題,但是Excel可以恢復。 錯誤日志中的錯誤:
在文件'C:\\ file1.xlsm'中檢測到錯誤
刪除的記錄:從排序
/xl/worksheets/sheet1.xml部分
保存按鈕只是使用SaveChanges:=True
關閉工作簿。
為什么會發生這種情況,如何糾正?
這個錯誤
在文件中檢測到錯誤
表示您的文件已損壞。
在許多情況下,將文件轉換為二進制.xlsb
格式可以修復文件。 之后,您可以再次以XML格式.xlsm
保存。
但是,我經常遇到XML格式和文件損壞的問題。 因此,對於大數據,我建議使用二進制格式(效率更高,並且產生的文件也更小)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.