Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a long calculation and I created a userform (CHandicaps) with a
progress-bar. In CHandicaps, I created a routing to update the progress bar (UpdateProgress). So when my calculation begins, I show the userform: CHandicaps.Show vbModeless Now during the long calculation, I want to call the UpdateProgress function in the userform. This seems simple, but I've been banging around with this for a long time and cannot get my head around how to interact with a form "from a module". Color me lost.... Do I need to pull the UpdateProgress code out of the userform and put it in my calculation? If so how do I reference a field in the userform? Any help would be appreciated.. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() fedude;363036 Wrote: I have a long calculation and I created a userform (CHandicaps) with a progress-bar. In CHandicaps, I created a routing to update the progress bar (UpdateProgress). So when my calculation begins, I show the userform: CHandicaps.Show vbModeless Now during the long calculation, I want to call the UpdateProgress function in the userform. This seems simple, but I've been banging around with this for a long time and cannot get my head around how to interact with a form "from a module". Color me lost.... Do I need to pull the UpdateProgress code out of the userform and put it in my calculation? If so how do I reference a field in the userform? Any help would be appreciated.. Hello fedude, Provided the user form is visible and the procedure is in General code section, prefix the name of the procedure with the user form's name. In this example the user form has a combo box. In the general code section of "UserForm1" is defined a procedure to load the combo box "ComboBox1". Public Sub LoadComboBox() With ComboBox1 Clear For I = 1 to 10 AddItem "Item " & I Next I End With End Sub This code is in a standard VBA module. The user form must be visible when you run this code or it will throw an error. Sub Test() UserForm1.LoadComboBox End Sub SIincerely, Leith Ross -- Leith Ross Sincerely, Leith Ross 'The Code Cage' (http://www.thecodecage.com/) ------------------------------------------------------------------------ Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75 View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=101813 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Leith. That did the trick.
I was all good with what you wrote except for the fact that my sub was private. Your comment about the sub being "visible" triggered me to remove the "Private" from the sub and voila.....Success. Thanks! "Leith Ross" wrote: fedude;363036 Wrote: I have a long calculation and I created a userform (CHandicaps) with a progress-bar. In CHandicaps, I created a routing to update the progress bar (UpdateProgress). So when my calculation begins, I show the userform: CHandicaps.Show vbModeless Now during the long calculation, I want to call the UpdateProgress function in the userform. This seems simple, but I've been banging around with this for a long time and cannot get my head around how to interact with a form "from a module". Color me lost.... Do I need to pull the UpdateProgress code out of the userform and put it in my calculation? If so how do I reference a field in the userform? Any help would be appreciated.. Hello fedude, Provided the user form is visible and the procedure is in General code section, prefix the name of the procedure with the user form's name. In this example the user form has a combo box. In the general code section of "UserForm1" is defined a procedure to load the combo box "ComboBox1". Public Sub LoadComboBox() With ComboBox1 .Clear For I = 1 to 10 .AddItem "Item " & I Next I End With End Sub This code is in a standard VBA module. The user form must be visible when you run this code or it will throw an error. Sub Test() UserForm1.LoadComboBox End Sub SIincerely, Leith Ross -- Leith Ross Sincerely, Leith Ross 'The Code Cage' (http://www.thecodecage.com/) ------------------------------------------------------------------------ Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75 View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=101813 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
'Userform class module
'Userform1 with ScrollBar1 Option Explicit Private Sub UserForm_Initialize() Me.ScrollBar1.Min = 0 Me.ScrollBar1.Max = m End Sub 'standard module Option Explicit Public m As Long Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Test() Dim lTop As Long, i As Long lTop = 100 m = lTop UserForm1.Show vbModeless For i = 0 To lTop addOne i '... Sleep 100 DoEvents '... Next Unload UserForm1 End Sub Sub addOne(i As Long) UserForm1.ScrollBar1.Value = i End Sub regards r -- http://excelvba.altervista.org/blog/...ternative.html "fedude" wrote: I have a long calculation and I created a userform (CHandicaps) with a progress-bar. In CHandicaps, I created a routing to update the progress bar (UpdateProgress). So when my calculation begins, I show the userform: CHandicaps.Show vbModeless Now during the long calculation, I want to call the UpdateProgress function in the userform. This seems simple, but I've been banging around with this for a long time and cannot get my head around how to interact with a form "from a module". Color me lost.... Do I need to pull the UpdateProgress code out of the userform and put it in my calculation? If so how do I reference a field in the userform? Any help would be appreciated.. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks r,
When I saw your sub "addOne" was not private triggered me to remove the private attribute and make it available. Voila, I was in business. Thanks for the help! |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks r,
When I saw your sub "addOne" was not private triggered me to remove the private attribute and make it available. Voila, I was in business. Thanks for the help! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Refer to control on userform from code module | Excel Programming | |||
Code in userform/worksheet vs. in Module | Excel Programming | |||
How to call a sub from UserForm Module | Excel Programming | |||
Modeless userform | New Users to Excel | |||
modeless userform | Excel Programming |