首页 文章

代码适用于Excel模块,但不适用于ThisWorkbook模块 .

提问于
浏览
0

我有一个非常简单的VBA代码来复制单元格的值,打开另一个工作簿,并将该单元格值粘贴到新打开的工作簿中 . 它在普通模块中完美运行 . 但是当我在ThisWorkbook模块中运行代码时,为了在保存文件时触发它,其他工作簿将无法打开 . 但是,在ThisWorkbook中打开MsgBox的更简单的宏工作正常 . 另一个奇怪的事情是,如果我正在查看代码,代码将在ThisWorkbook中工作 . 任何人都知道为什么会发生这种情况?我正在运行Excel 2010 .

代码如下:

Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim rangetocopy As String
Dim w1 As Workbook
Dim w2 As Workbook

Set w1 = ActiveWorkbook
Calculate

rangetocopy = w1.Sheets("Reference Data").Range("F10").Value

Set w2 = Workbooks.Open("C:\Users\user1\Documents\To-Do.xlsm")

w2.Worksheets("Masterlist").Activate
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.Value = rangetocopy

w1.Worksheets("To-do List").Activate

End Sub

有什么想法吗?

1 回答

  • 0

    问题是由名为WorkSite的第三方加载项引起的 . 一旦我断开连接,宏工作正常 .

相关问题