gpt4 book ai didi

vba - Excel VBA - 将用户窗体组合框的值分配给全局变量

转载 作者:行者123 更新时间:2023-12-02 22:15:32 25 4
gpt4 key购买 nike

我有一个带有基本组合框和命令按钮的用户窗体。当用户点击命令按钮时,我希望关闭用户窗体,并将组合框的值保存在一个变量中,该变量可以由“ThisWorkbook”中包含的子例程访问。

在用户窗体代码中:

Public employee_position As String    
Public Sub CommandButton1_Click()

employee_position = Me.ComboBox1.Value
Unload Me

End Sub

在“ThisWorkbook”代码中

Private Sub GetUserFormValue()
Call Userform_Initialize
EmployeePosition.Show
MsgBox employee_position
End Sub

当“GetUserFormValue()”运行时,用户窗体出现,您可以在组合框中选择一个值并按下命令按钮,但是当 MsgBox 出现时,它显示“”(无)

我在这里做错了什么?

最佳答案

当您Unload Me 时,我认为您丢失了与模块相关的所有信息(包括全局变量)。但是如果您使用 Me.Hide 而不是 Me.Unload,那么您可以在例程返回后访问表单的值。所以试试这个:

-- 用户表单代码包括:

Public Sub CommandButton1_Click()
Me.Hide
End Sub

-- 主要模块包括:

Private Sub GetUserFormValue()
Call Userform_Initialize
EmployeePosition.Show
MsgBox EmployeePosition.ComboBox1.Value
Unload EmployeePosition
End Sub

我认为这应该可行。

关于vba - Excel VBA - 将用户窗体组合框的值分配给全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14530146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com