Excel在<;文件名>;

Excel在<;文件名>;,excel,excel-2010,vba,Excel,Excel 2010,Vba,我有一个excel文件,包含大约1000行。每一行都有一个图像,有点像其中一列中的缩略图大小。图像重叠的单元格中有一条注释,该注释实际上包含同一图像的较大版本 偶尔打开文件时,我会收到 Excel found unreadable content in <filename>. Do you want to recover the contents of the file. If I say No it closes. 然后发生的是注释(包含图像的更大版本)都在每一行上 该文件最

我有一个excel文件,包含大约1000行。每一行都有一个图像,有点像其中一列中的缩略图大小。图像重叠的单元格中有一条注释,该注释实际上包含同一图像的较大版本

偶尔打开文件时,我会收到

Excel found unreadable content in <filename>.  Do you want to recover
the contents of the file.  If I say No it closes.
然后发生的是注释(包含图像的更大版本)都在每一行上

该文件最初包含一个运行的宏,完成后,我将该文件保存为xlsx,这样可以去掉宏

这种行为没有具体的模式,它不像我在保存为xlsx或任何东西后第一次重新打开它时发生的那样。这可能会好一段时间,然后突然发生


这是在Windows7、Office2010上发生的。我也遇到了同样的问题,并且能够解决它。问题是由于内存中存在缓存。 这是为我解决问题的代码


公共子PT_缓存_清除()
Dim pc作为数据透视缓存
将ws设置为工作表
使用ActiveWorkbook 数据透视缓存中的每台电脑 pc.MissingItemsLimit=xlMissingItemsNone 下一台电脑 以
端接头

我也有同样的问题。给我的XML消息是:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error076520_01.xml</logFileName><summary>Errors were detected in file 'C:\Work\New Work\SOP New Tool.xlsm'</summary><removedRecords summary="Following is a list of removed records:"><removedRecord>Removed Records: Sorting from /xl/worksheets/sheet5.xml part</removedRecord></removedRecords></recoveryLog>
这是它无法阅读的部分,并将其视为无法阅读的内容

我需要将其更改为如下所示:

L = Worksheets("Early Response to Check").UsedRange.Rows.Count
With Worksheets("Early Response to Check").Sort
    .SortFields.Add Key1:=Range("P1"), Order1:=xlAscending
    .SortFields.Add Key2:=Range("AX1"), Order2:=xlAscending
    .SetRange Range("A1:AZ" & L)
    .Header = xlNo
    .Apply
End With
瞧。。。错误消失了

希望这也能帮助其他人纠正这种错误

谢谢,
弥勒弥勒

文件扩展名是xlsx,它确实包含宏。我想知道它是否应该是xlsm?
是的。宏不会在
xlsx
格式化文件中运行。事实上,我认为它们甚至不会被存储在那里,至少不是标准模块。对不起,我弄错了。该电子表格由运行宏的另一个电子表格填充。出现错误的电子表格不包含任何宏。
L = Worksheets("Early Response to Check").UsedRange.Rows.Count
With Worksheets("Early Response to Check").Sort
    .SortFields.Add Key:=Range("P1"), Order:=xlAscending
    .SortFields.Add Key:=Range("AX1"), Order:=xlAscending
    .SetRange Range("A1:AZ" & L)
    .Header = xlNo
    .Apply
End With
L = Worksheets("Early Response to Check").UsedRange.Rows.Count
With Worksheets("Early Response to Check").Sort
    .SortFields.Add Key1:=Range("P1"), Order1:=xlAscending
    .SortFields.Add Key2:=Range("AX1"), Order2:=xlAscending
    .SetRange Range("A1:AZ" & L)
    .Header = xlNo
    .Apply
End With