Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 74
Default Call a sub in a modeless userform from a code module?

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Call a sub in a modeless userform from a code module?


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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 74
Default Call a sub in a modeless userform from a code module?

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   Report Post  
Posted to microsoft.public.excel.programming
r r is offline
external usenet poster
 
Posts: 125
Default Call a sub in a modeless userform from a code module?

'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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 74
Default Call a sub in a modeless userform from a code module?

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 74
Default Call a sub in a modeless userform from a code module?

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
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Refer to control on userform from code module Dale Fye Excel Programming 1 September 6th 07 03:14 PM
Code in userform/worksheet vs. in Module davegb Excel Programming 2 June 19th 06 04:17 PM
How to call a sub from UserForm Module Myles[_58_] Excel Programming 1 March 31st 06 04:40 AM
Modeless userform hngo New Users to Excel 2 July 13th 05 09:23 AM
modeless userform jacob Excel Programming 1 May 4th 04 02:53 PM


All times are GMT +1. The time now is 09:10 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"