我收到了运行时错误。 Activex组件无法创建对象。
我已尝试过从重新安装办公室到检查我的注册表而没有运气的一切。我检查了我的管理员priveldges,但没有解决它。我的代码是正确的
这是代码:
Sub GetSheetInfo()
Dim wbXL As Excel.Workbook
Set wbXL = CreateObject("D:\project\Ruby\Live info Ruby.xls")
Range("A9:H800").Select
Selection.EntireRow.Delete
Windows("Live info Ruby.xls").Activate
Sheets("Ruby - 2020").Select
Range("A155:g950").Select
Selection.Copy
Windows("Project Duration.xlsm").Activate
Sheets("Frequency").Select
Range("A9").Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
wbXL.Close
End Sub
基本上所有这一切都是从另一个excel文件表复制并粘贴到另一个excel文件(带宏的那个)
我会接受包括代码更改在内的所有建议
答案 0 :(得分:1)
我会避免使用"。选择"复制和粘贴时的方法。我会开始采用这种方法:
改变并复制所需的范围。
Sub GetSheetInfo()
Dim wbXL As Excel.Workbook
Dim CWB As Workbook
Set CWB = Thisworkbook
Set wbXL = Application.Workbooks.Open("D:\project\Ruby\Live info Ruby.xls")
Range("A9:H800").ClearContents
Dim CopyRange As Range
Set CopyRange = wbXL.Sheets("Ruby - 2020").Range("A155:G950")
CopyRange.Copy
CWB.Sheets("Frequency").Range("A9").PasteSpecial _
Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
'Added "False" to not save workbook when closing. You can remove this if needed
wbXL.Close False
End Sub
您可以使用它来查看excel是否能够打开该文件。如果它能够打开文件,它将告诉你它使用的路径。确保您选择使用的代码中的路径与此路径一致。
Option Explicit
Sub Test()
Dim FileOpen As FileDialog
Dim fullpath As String
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Select a File"
.Filters.Clear
.Show
fullpath = .SelectedItems(1)
End With
MsgBox fullpath
Workbooks.Open fullpath
End Sub
答案 1 :(得分:1)
Sub GetSheetInfo()
Dim wbXL As Excel.Workbook
Set wbXL = CreateObject("C:\Users\User\Desktop\Book1.xlsx")
Range("A9:H800").Select
您需要将您拥有的文件路径准确地复制并粘贴到Windows资源管理器中,并查看它是否打开。我建议仔细检查你的文件扩展名并确保你不需要使用
Set wbXL = CreateObject("D:\project\Ruby\Live info Ruby.xlsx")
当我尝试使用不存在的文件位置时,我收到您的错误,如果文件确实存在,它就可以正常工作。