使用Set Wkb功能

时间:2018-01-16 16:41:29

标签: excel vba excel-vba

我正在使用一些应该将工作簿设置为变量的代码,然后在以后调用它。我相信我需要这样做,因为通过我在3-4个不同的工作簿之间跳跃的代码。

然而,当我使用这行代码wkbDestinationBook.Sheets(c10).Select时,我得到了一个

  

选择工作表类的方法失败

要定义我的wkbDestinationBook,我使用了

行 上一个Set wkbDestinationBook = ActiveWorkbook中的

Sub,定义为Global wkbDestinationBook As Excel.Workbook

Worksheet(c10)没有问题,因为我在工作簿处于活动状态且未发现问题时已使用该行

我对如何/如何解决此错误感到茫然。谢谢

2 个答案:

答案 0 :(得分:2)

不应在Sub中声明公共变量。如果在Sub中声明变量,则此变量仅对此过程有效。 您需要声明如下示例:

Option Explicit

Public wkbDestinationBook As Excel.Workbook

Sub YourSub ()
    'Your code
    'You can set the value of the Public Variable wkbDestinationBook
End Sub

http://www.excel-easy.com/vba/examples/variable-scope.html

答案 1 :(得分:0)

相当简单的解决方案。

我将行wkbDestinationBook.Sheets(c10).select更改为wkbDestinationBook.Sheets(c10).activate现在可以正常运行