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).
更多信息:
Office.com : Repair a corrupted workbook
其他未解决的问题:
每次打开文件时是否重复出现这种情况?
你有备份吗?[=16=]
原因:遇到此错误消息的最可能原因是整个 Excel 文件损坏或此文件中的一个或多个对象损坏。
好吧,没有人针对该问题发布一个简单的解决方案:
尝试打开您的“.xlsx”文件,将其设为 'read-only'。
1.Click 在“Office 按钮”上,select 保存新文档或另存为以前保存的文档。
2.Now 单击“工具”和 select“常规选项”
3.And 最后点击“只读”复选框将文档设置为只读
打开一个新的空白“.xlsx”文件,并将损坏的 Excel 文件中的所有内容复制到这个新文件中。保存此文件并尝试再次打开它。
我创建了一个 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).
更多信息:
Office.com : Repair a corrupted workbook
其他未解决的问题:
每次打开文件时是否重复出现这种情况?
你有备份吗?[=16=]
原因:遇到此错误消息的最可能原因是整个 Excel 文件损坏或此文件中的一个或多个对象损坏。
好吧,没有人针对该问题发布一个简单的解决方案:
尝试打开您的“.xlsx”文件,将其设为 'read-only'。
1.Click 在“Office 按钮”上,select 保存新文档或另存为以前保存的文档。
2.Now 单击“工具”和 select“常规选项”
3.And 最后点击“只读”复选框将文档设置为只读 打开一个新的空白“.xlsx”文件,并将损坏的 Excel 文件中的所有内容复制到这个新文件中。保存此文件并尝试再次打开它。