1.
Application.Run "SomeBook.xls!SomeForm.SomeRoutine"
Put code in SomeRoutine to run (ie load and show) the form (in same project
as SomeRoutine)
2.
Yes you are right, as soon as you reference a userform it will load into
memory and stay there until explicitly unloaded (or the wb is closed)
To unload one or all forms in a project -
Dim i as long
For i = 1 to Userforms.count To 1 Step -1
' If Userforms(i - 1).name = "myFormName" Then '' only unload this form
Unload Userforms(i - 1)
' End If
Next
uncomment "If..." & "End If" to only unload a particular form, if loaded
Regards,
Peter T
"Denis" <(E-Mail Removed)> wrote in message
news:3c07c7f1-3593-4b79-bab4-(E-Mail Removed)...
> You can call a routine in another workbook by doing:
> Application.Run "SomeBook.xls!SomeRoutine"
>
> Since you can call a routine in a form by:
> Call SomForm.FormRoutine
>
> I was hoping that you could call a form routine from another workbook
> by doing:
> Application.Run "SomeBook.xls!SomeForm.FormRoutine"
> but this doesn't work.
>
> Is there a way to do this?
>
> On a related note, is there a way to unload a form from another
> workbook. My understanding is that calling a routine in a form will
> automatically load it (if it isn't already loaded) but there are times
> when you would want to unload a form to guarantee you are starting
> fresh.
>
> Denis
|