thisworkbook与模块之间如何传值

2025-09-22 20:59:53

1、打开VBA工程

打开Excel,按下 Alt+F11,打开VBA工程。

thisworkbook与模块之间如何传值

2、添加一个模块

右键单击Microsoft Excel对象文件夹,选择右键菜单中的插入->模块,添加一个模块。

thisworkbook与模块之间如何传值

1、定义全局变量

定义在模块中的public变量就是全局变量,全局变量可以在任何窗体、类和模块中访问。在模块中增加如下代码,定义一个名称为g_strGlobalVariable 的全局变量,再定义一个公共方法,用MsgBox显示该 变量的值。

Public g_strGlobalVariable    As String

Public Sub Test1()

    MsgBox g_strGlobalVariable

End Sub

2、在ThisWorkBook中使用全局变量

在ThisWorkBook中定义一个方法,在方法中给全局变量赋值,再调用模块中的公共方法,显示该全局变量的值。

Public Sub TestGobalVariable()

    g_strGlobalVariable = "123"

    Call Test1

End Sub

thisworkbook与模块之间如何传值

3、测试代码

将光标定位在ThisWorkBook中的TestGobalVariable方法内,按下F8,可以启动单步调试,连续按F8,或按F5,就可以运行完成,可以看出在模块中的MsgBox显示出了在ThisWorkBook中赋值结果。

thisworkbook与模块之间如何传值

1、定义公共属性

在ThisWorkBook中定义一个名称为P1的公共属性,在P1属性的赋值方法中显示赋值结果。

Private m_strP1 As String

Public Property Get P1() As String

    P1 = m_strP1

End Property

Public Property Let P1(ByVal strValue As String)

    m_strP1 = strValue

    MsgBox strValue

End Property

thisworkbook与模块之间如何传值

2、在模块中使用ThisWorkBook中的公共属性

在模块中添加如下代码,给ThisWorkBook的公共属性P1赋值。

Public Sub Test2()

    ThisWorkbook.P1 = "456"

End Sub

thisworkbook与模块之间如何传值

3、在ThisWorkBook中增加调用公共方法Test2的代码

Public Sub TestGobalVariable()

    g_strGlobalVariable = "123"

    Call Test1

    Call Test2

End Sub

thisworkbook与模块之间如何传值

4、测试代码

将光标定位在模块中的Test2方法内,按下F8,可以启动单步调试,连续按F8,或按F5,就可以运行完成,可以看出在模块中的MsgBox显示出了在模块中赋值结果。

thisworkbook与模块之间如何传值

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢