Вставка макроса электронной таблицы - работает в 2010 году, но не в 2016 году - PullRequest
0 голосов
/ 22 марта 2019

У меня есть макрос VBA, который копирует вкладку сводки из одной рабочей книги в другую.Он отлично работает в 2010 году, но не для наших сотрудников, которые обновились с 2010 по 2016 год. Макрос не дает ошибок - он просто ничего не делает.У кого-нибудь есть предложения по поводу того, что может отличаться от 2016 года?Спасибо!

Sub Analyst_Summary_macro()

ActiveWorkbook.Save

Dim MyPath As String, MyCompletePath As String
MyCompletePath = ActiveWorkbook.FullName

Dim wkbSource As Workbook
Dim wkbDest As Workbook
Dim shtToCopy As Worksheet

Set wkbSource = Workbooks.Open("C:\Users\n0079864\Desktop\Analyst_Summary.xlsx")
Set shtToCopy = wkbSource.Sheets("Analyst_Summary")

Set wkbDest = Workbooks.Open(MyCompletePath)
shtToCopy.Copy wkbDest.Sheets(1)

Workbooks("Analyst_Summary.xlsx").Close False
    Application.ScreenUpdating = False

End Sub

1 Ответ

0 голосов
/ 23 марта 2019

Копируете ли вы в рабочую книгу с кодом или другую рабочую книгу?

Использование ActiveWorkbook.FullName для открытия другой книги кажется странным и может привести к проблемам.

Попробуйте следующие изменения:

Sub Analyst_Summary_macro()

    Dim wkbDest As Workbook
    Set wkbDest = ActiveWorkbook 'or ThisWorkbook?
    wkbDest.Save

    With Workbooks.Open("C:\Users\n0079864\Desktop\Analyst_Summary.xlsx")
        .Sheets("Analyst_Summary").Copy wkbDest.Sheets(1)
        .Close False
    End with

End Sub
...