Excel "Unreadable Content" recover/repair 问题

Excel "Unreadable Content" recover/repair issue

我创建了一个 Import 按钮,它应该从另一个打开的 Excel 文件导入数据,但我遇到了以下问题。 是2013办公版。

我不知道它有什么问题,希望得到一些建议。

截图:

(点击放大图片。)

负责导入数据的函数代码,它应该从打开的excel文件中获取数据并将其粘贴到另一个文件中:

Sub ImportORT()
Dim Rng2 As Range
Dim wbk As Workbook
Set wbk = ThisWorkbook
Dim RowCounter As Long
Dim clipboard As MSForms.DataObject
Dim str1 As String

Application.ScreenUpdating = False

Sheets("Data").Select
Sheets("Data").Cells.NumberFormat = "@"
Range("A1").Select
On Error GoTo Nopaste


Windows("mvrt.xlsx").Activate
ActiveSheet.Cells.Select
'Range("A1:U16").Select
Selection.Copy
Windows("Offsite Macro_2016_v20.xlsm").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True


Rows("1:1").Delete Shift:=xlUp
'Range("A:A").Delete Shift:=xlLeft  <--- kasowanie pierwszej kolumny (ma sens tylko jak wklejamy ze strony)

'changed:
Set Rng2 = Application.Intersect(ActiveSheet.UsedRange, Range("A:U"))


Rng2.SpecialCells(xlCellTypeVisible).Copy
Sheets("MVRT").Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("MVRT").Activate
Range("A:U").Columns.AutoFit
Range("A1:U1").AutoFilter
Application.Goto Reference:=Range("A1"), Scroll:=True

  '-------------------------------------------
    'NEW:

    'change column format
    Columns("U:U").Select
    Selection.NumberFormat = "General"

    'remove identical rows
    RowCounter = wbk.Sheets("MVRT").Cells(Rows.Count, 2).End(xlUp).Row

     wbk.Sheets("MVRT").Range("$A:$m$" & RowCounter).RemoveDuplicates Columns:=Array(2, 3, 9, 10, 11, _
     12, 13), Header:=xlYes


    'set formula
    Range("U2").Select
        ActiveCell.FormulaR1C1 = "=IF(COUNTIF(C[-14],RC[-14])>1,1,0)"
    Range("U2").Select

    If Range("A:A").Rows.End(xlDown).Row > 2 Then
        Selection.AutoFill Destination:=Range("U2:U" & Range("A:A").Rows.End(xlDown).Row)
    End If

    'sort by duplicates
    Range("U1").Value = "duplicated"
    Columns("A:U").Sort Key1:=Range("U1"), Order1:=xlDescending, key2:=Range("C1"), Order2:=xlAscending, key3:=Range("B1"), Order3:=xlAscending, Header:=xlYes

    '-------------------------------------------

    Sheets("Data").Cells.Delete
    Sheets("Control").Activate
    Application.Goto Reference:=Range("A1"), Scroll:=True
    Application.ScreenUpdating = True

    MsgBox "Codes Imported", vbInformation, "Codes Imported"
    Exit Sub

Nopaste:
'------------------------------------
'NEW:
Application.ScreenUpdating = True
'------------------------------------

Sheets("Control").Activate
Application.Goto Reference:=Range("A1"), Scroll:=True
MsgBox "No Data To Paste", vbExclamation, "No Data To Paste"
Exit Sub

End Sub

"what happened and why" 的答案可能在 列出修复的日志文件中(如对话框所述)。

单击对话框中的 link 或在文本编辑器中打开文件:

c:\users\KKWIET~1\AppData\Local\Temp\error094040_06.xml

检查文件 试图了解问题所在。

如果您仍然无法理解,请XML文件中的相关文本添加到您的问题edit).


更多信息:


其他未解决的问题:

  • 每次打开文件时是否重复出现这种情况?

  • 你有备份吗?[=​​16=]

原因:遇到此错误消息的最可能原因是整个 Excel 文件损坏或此文件中的一个或多个对象损坏。

好吧,没有人针对该问题发布一个简单的解决方案:

尝试打开您的“.xlsx”文件,将其设为 'read-only'。

1.Click 在“Office 按钮”上,select 保存新文档或另存为以前保存的文档。

2.Now 单击“工具”和 select“常规选项”

3.And 最后点击“只读”复选框将文档设置为只读 打开一个新的空白“.xlsx”文件,并将损坏的 Excel 文件中的所有内容复制到这个新文件中。保存此文件并尝试再次打开它。