У меня есть Avizo.xlt с одним рабочим листом и кодом, который намеревался поместить этот WS в уже открытый документ, который представляет собой отчет SLK, сделанный нашей древней системой ERP, и закрыть этот документ.

До 2007 года все работало нормально на компьютерах пользователей. Мой код:

Public Sub format_avizo3()
    On Error Resume Next
    Dim Wb As Workbook
    For Each Wb In Workbooks
        Select Case Wb.Worksheets(1).Cells(1, 1)
        Case "F004CP000V001", "F004CP000V003", "F004CP000V004":
            ThisWorkbook.Worksheets(1).Range("A1:I22").Copy
            'some extra code
        End Select
    Next Wb
    ThisWorkbook.Close False
End Sub

Теперь Excel с новым документом не видит уже открытый Excel. Как я могу заставить его найти себя?

Обходной путь: оставьте Excel открытым до запуска процесса, и он будет работать.

1 ответ1

1

К сожалению, это системное ограничение, и нет быстрого решения.

Вы можете открыть все книги в одном экземпляре Excel или использовать решение из ForEachLoop . Это работает, хотя в нем много кода. Пожалуйста, перейдите по ссылке ниже для более подробной информации:

https://stackoverflow.com/questions/2971473/can-vba-reach-across-instances-of-excel

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .