为什么我在Excel VBA中收到运行时错误429?

问题描述 投票:-1回答:2

我收到了运行时错误。 Activex组件无法创建对象。

我已经尝试了从重新安装办公室到检查我的注册表没有运气的一切。我检查了我的管理员权限,但没有修复它。我的代码是正确的

这是代码:

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文件(与宏的文件)

我将采取任何和所有建议,包括代码更改

excel vba runtime-error
2个回答
1
投票

复制和粘贴时我会避免使用“.Select”方法。我会开始采用这种方法:

变暗并复制所需的范围。

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
投票
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")

当我尝试使用不存在的文件位置时,我收到您的错误,如果该文件确实存在,它可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.