我的导入代码完全适用于我的2013 64bit excel;但是,我有用户使用32位的2010 Excel,但代码不起作用。如果有人会查看以下代码并告诉我需要更改的内容以便我的2010 32位用户能够使用它,我将非常感激:
Sub TransferData()
''<<<<unprotect code
Dim i As Integer
For i = 1 To Sheets.Count
Sheets(i).Unprotect password:="ADMIN"
Next i
'
''<<<<<main code
'
Application.ScreenUpdating = False
Sheets("Dashboard").Activate
Sheets("DASF Data").Range("DASF_Range").ClearContents
'
Dim wb1 As Workbook
Dim wb2 As Workbook
Set wb1 = ActiveWorkbook
FileToOpen = Application.GetOpenFilename _
(Title:="Please choose a Report to Parse", _
FileFilter:="Report Files *.xls (*.xls),")
If FileToOpen = False Then
MsgBox "No File Specified.", vbExclamation, "ERROR"
Exit Sub
Else
Set wb2 = Workbooks.Open(Filename:=FileToOpen)
For Each Sheet In wb2.Sheets
If Sheet.Visible = True Then
Range("A2:Y10000").Select
Selection.Copy
Windows("DASF MANAGEMENT TOOL (CONUS Ver 1.0).XLSB").Activate
Sheets("DASF Data").Select
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Dashboard").Activate
End If
Next Sheet
End If
Workbooks("DASF.XLS").Close SaveChanges:=False
End Sub
答案 0 :(得分:1)
该错误编号不一定与您列出的代码有任何关系。它可能是模块中任何地方的错误:或者它可能是您的某个模块的编译版本中的损坏代码。它甚至可能是一个破坏的库参考。
要排除第一种可能性,请手动“编译所有代码”。
要解决第二种可能性,请创建新的电子表格,然后将旧电子表格中的文本复制到新电子表格中的新模块中。或者下载并使用Excel'反编译器'。