You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将UserForm中的用户密码变量传递至Module模块?

登录UserForm与模块变量同步实现

需求

制作了一个登录UserForm,需要让Module1中的User和Pass变量与UserForm内UserBox.Text、PassBox.Text的内容保持一致。

现有代码

UserForm1代码

Public tempUser As String
Public tempPass As String

Private Sub Submit_Click()
    tempUser = UserBox.Text
    tempPass = PassBox.Text
    Unload Me
End Sub

Private Sub Back_Click()
    tempLogin = ""
    tempSenha = ""
    Unload Me
End Sub

Private Sub UserBox_Change()

End Sub

Private Sub UserForm_Activate()
    HideTitleBarAndBordar Me
    MakeUserformTransparent Me
End Sub

Module1代码

Sub LogModule()

    UserForm1.Show

    User = UserForm1.tempUser
    Pass = UserForm1.tempPass

End Sub

修正与优化方案

  1. 修正UserForm1的Back_Click事件变量名错误
    原代码里tempLogin和tempSenha是未定义的变量,改为与公共变量一致的名称:

    Private Sub Back_Click()
        tempUser = ""
        tempPass = ""
        Unload Me
    End Sub
    
  2. 规范Module1的变量声明
    原代码中User和Pass未声明,会自动变为全局变体变量,建议显式声明并强制模态显示表单:

    Sub LogModule()
        Dim User As String, Pass As String
        
        UserForm1.Show vbModal ' 确保表单关闭后再获取变量值
        
        User = UserForm1.tempUser
        Pass = UserForm1.tempPass
        ' 此处可添加登录验证等后续逻辑
    End Sub
    
  3. 优化表单关闭方式(可选)
    直接用Unload Me会销毁表单实例,若需复用表单状态,改用Me.Hide隐藏表单,在Module1完成逻辑后再卸载:

    • UserForm1修改:
      Private Sub Submit_Click()
          tempUser = UserBox.Text
          tempPass = PassBox.Text
          Me.Hide ' 替换Unload Me
      End Sub
      
      Private Sub Back_Click()
          tempUser = ""
          tempPass = ""
          Me.Hide
      End Sub
      
    • Module1修改:
      Sub LogModule()
          Dim User As String, Pass As String
          Dim loginForm As UserForm1
          
          Set loginForm = New UserForm1
          loginForm.Show vbModal
          
          User = loginForm.tempUser
          Pass = loginForm.tempPass
          
          Unload loginForm
          Set loginForm = Nothing
      End Sub
      

内容的提问来源于stack exchange,提问作者Ropelato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:02:54