插入电子表格宏-在2010年有效,但在2016年无效

时间:2019-03-22 13:34:49

标签: excel vba insert excel-2010 excel-2016

我有一个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 :(得分:0)

您要复制到具有代码的工作簿还是其他一些工作簿?

使用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