0

如果您查看我的历史记录,您会发现我一直在通过方法调用调用 Worksheets 引用。一种此类方法的工作示例:

'In module GlobalRefs

Function W_ExampleWS() As Worksheet
    Set W_ExampleWS = ActiveWorkbook.Worksheets("ExampleWS")
End Function

因此,当我进行与工作表相关的正常调用时,它们会起作用:

...
GlobalRefs.W_ExamplesWS.Range("A1").Value = 42 'works
...

但是,工作表 ExampleWS 有一个名为“DesignGraph”的子例程。我希望能够通过这样的方法调用来调用该子例程。

'In module AnotherRandomModule

...
GlobalRefs.W_ExampleWS.DesignGraph arg1 arg2
...

我不断收到错误,例如方法未定义,即使 VBA 编辑器的智能感知承认子例程的存在,因为如果拼写错误,它会更正 DesignGraph 的大写。我给它正确的论据。

为什么会这样?

4

1 回答 1

1

Worksheet 类没有 DesignGraph 方法 - 只有您的特定工作表有。假设 DesignGraph 是一个公共子,如果您更改函数以返回一个对象,那么您应该没有问题。

于 2013-06-03T21:04:03.950 回答