Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with Userform and different code modules
Hi,
I have a problem with a Userform which I use for a double purpose. Because everything is complex, I split up the procedures in different modules. Here comes the problem: the pointer to the userform gets lost when I execute a procedure in a different module than the first module that is chosen by the form. Can I solve this, or must I put everything in the first called module? An example makes everything clear (this is a simplification, in fact, it runs more than 1000 lines of code, that's why it is put in different code modules!) Thanks for your help! Jos Vens Public gnProgram as Integer 'Module of the userform 'Button1 Private Sub bButton1_Click() LOGIN1_bButton_Click End Sub 'Button2 Private Sub bButton2_Click() LOGIN2_bButton_Click End Sub 'Code Module LOGIN1 Function LOGIN1_bButton_Click() <<--- Here is FrmLogin is recognized because it is called straight from the userform gnProgram = 1 FrmLogin.oName.Visible = True DCL_Login End Function 'Code Module LOGIN2 Function LOGIN2_bButton_Click() <<--- Here is FrmLogin is recognized because it is called straight from the userform gnProgram = 2 FrmLogin.oName.Visible = False DCL_Login End Function 'Code Module DECLARATION <<--- Here is the problem: FrmLogin is no longer recognized because it's another code module Function DCL_Login() FrmLogin.cbCombo1.Visible = (gnProgram = 1) FrmLogin.cbCombo2.Visible = (gnProgram = 2) End Function |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Problem with Userform and different code modules
Hi,
by writing the problem, I discovered myself the solution by passing the form as a parameter to the other code module. It works! I only wonder if it's the only way? Calling: DCL_Login FrmLogin Function DCL_Login(vFrmLogin As UserForm) vFrmLogin.cbCombo1.Visible = (gnProgram = 1) vFrmLogin.cbCombo2.Visible = (gnProgram = 2) End Function Thanks anyway Jos "Jos Vens" schreef in bericht ... Hi, I have a problem with a Userform which I use for a double purpose. Because everything is complex, I split up the procedures in different modules. Here comes the problem: the pointer to the userform gets lost when I execute a procedure in a different module than the first module that is chosen by the form. Can I solve this, or must I put everything in the first called module? An example makes everything clear (this is a simplification, in fact, it runs more than 1000 lines of code, that's why it is put in different code modules!) Thanks for your help! Jos Vens Public gnProgram as Integer 'Module of the userform 'Button1 Private Sub bButton1_Click() LOGIN1_bButton_Click End Sub 'Button2 Private Sub bButton2_Click() LOGIN2_bButton_Click End Sub 'Code Module LOGIN1 Function LOGIN1_bButton_Click() <<--- Here is FrmLogin is recognized because it is called straight from the userform gnProgram = 1 FrmLogin.oName.Visible = True DCL_Login End Function 'Code Module LOGIN2 Function LOGIN2_bButton_Click() <<--- Here is FrmLogin is recognized because it is called straight from the userform gnProgram = 2 FrmLogin.oName.Visible = False DCL_Login End Function 'Code Module DECLARATION <<--- Here is the problem: FrmLogin is no longer recognized because it's another code module Function DCL_Login() FrmLogin.cbCombo1.Visible = (gnProgram = 1) FrmLogin.cbCombo2.Visible = (gnProgram = 2) End Function |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Problem running code behind a userform | Excel Programming | |||
UserForm-Code Problem | Excel Programming | |||
When to code in sheet or userform modules and when to use modules | Excel Programming | |||
editing code in modules through VB | Excel Programming | |||
Using the same variable in separate userform modules | Excel Programming |