VBA与OBJ – 如何引用里面的OBJ而不命名呢?

如果我在一个With块引用我想引用一个函数调用的对象,例如,我必须引用该对象的名称或有一个“这个”,“我”裁判,我可以使用?

我在网上做了一个search,但在VBA中没有发现太多内容。

Dim shExport As Worksheet With shExport ....... ....... 'works as expected GetData(shExport) 'but how can this be achieved without naming it GetData(this) GetData(me) GetData() ........ End With Function GetData(sh As Worksheet) As Integer ..... ..... End Function 

您可以指定支持.Parent属性的对象的属性以获取对象的引用。 例如:

 With shExport GetData(.Cells.Parent) End With 

除了直接调用对象之外,没有办法引用对象(也可以看: 如何访问With … End With中的对象本身 )。

你可以做的是统统调用这个工作表集合:

ActiveWorkbook.Worksheets("Sheet1")ActiveWorkbook.Sheets(1)

关于块 – 你可以使用一个点. 在它内部引用对象的子元素/字段,但不能发送点. 作为参数。