你如何去一个不同的对象的线标签?

例如,给定工作表1包含:

Ref: Do things

如何将模块1中的代码指向GoTo Ref ? 如果我在Sheet1代码模块中,那么我可以简单地使用一个Goto Ref

但是这不适用于不同的模块

为了帮助扩大其他答案..就像他们说,除了error handling,你不应该使用GoTo来处理VBA中的任何东西。

你应该做的是从另一个模块调用公共子/function。 例如,在模块1中,您将拥有以下内容

 Sub TestMod1() Dim MyNumber As Integer MyNumber = GetSquare(6) 'MyNumber returns from the function with a value of 36 End Sub 

并在模块2你有

 Public Function GetSquare(ByVal MyNumber As Integer) GetSquare = MyNumber * MyNumber End Function 

所以现在你知道如何避免它。 GoTo不是很好的编程习惯,因为你将会有东西在那里飞行。 试着把你正在重复的代码分解成多个Subs,并在需要的时候调用它们,或者在任何情况下调用它们。 然后你将进入类,这些类被包装起来代表一个对象,它将完成对象的所有工作。

这应该让你走上正轨。

你的问题不清楚,你没有提供任何代码,所以这是一个猜测。

GoTo用于跳转到同一子/function内的不同位置。 你不能用它来跳转到其他子例程或函数的一部分,这听起来像你可能试图做的。

此外,“NapDone:”不被称为参考,它被正式称为线标签 。 🙂