Excel VBA使用其他子对象的范围表达式
我有两个不同的模块。一个触发另一个。这样,Excel VBA使用其他子对象的范围表达式,excel,vba,Excel,Vba,我有两个不同的模块。一个触发另一个。这样, Private Sub Worksheet_Change(ByVal TarGet As Range) If Not Intersect(TarGet, Range("o7:o1000")) Is Nothing Then Call dograma End If End Sub 另一个是这样开始的: Sub dograma() Txt = TarGet.Value 我得到一个错误,因为“目标”表达式没有在这个子函数中定义。但是
Private Sub Worksheet_Change(ByVal TarGet As Range)
If Not Intersect(TarGet, Range("o7:o1000")) Is Nothing Then
Call dograma
End If
End Sub
另一个是这样开始的:
Sub dograma()
Txt = TarGet.Value
我得到一个错误,因为“目标”表达式没有在这个子函数中定义。但是我想对这两个子函数使用相同的变量。我可以同步它们吗?在第二个子系统中,我这样更改了名称
Sub dograma(ByVal TarGet As Range)
及
在第一个模块中,我改变了
Call Dograma
与
它工作得很好。将其作为参数传递
Sub-dograma(ByVal目标作为范围)
。它工作得很好。但我还需要更改第一个子模块中的调用函数,如调用dograma(TarGet)注意,Call
的使用不是必需的,也不是有用的。这是对VB早期版本的一种回溯。如果没有它,您对Dograma的调用将变成Dograma Target
(不带括号)
Call Dograma (TarGet)