Почему я получаю ошибку во время выполнения 429 в Excel VB? - PullRequest
0 голосов
/ 19 мая 2018

Я получаю ошибку во время выполнения.Activex Component Не могу создать объект.

Я перепробовал все, от переустановки офиса до регистрации в моем реестре, но безуспешно.Я проверил свои админские привилегии, но это не помогло.Мой код правильный

Вот код:

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 (тот, который сМакрос)

Я приму любые предложения, включая изменения кода

Ответы [ 2 ]

0 голосов
/ 19 мая 2018
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")

Когда я пытаюсь использовать местоположение файла, которое не существует, я получаю вашу ошибку, если файл существует, он работаетпросто отлично.

0 голосов
/ 19 мая 2018

Я бы не использовал метод ".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
...