View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.programming
Chip Pearson Chip Pearson is offline
external usenet poster
 
Posts: 7,247
Default Can't call a sub in a UserForm using Application.Run

The Call userform1.xxx does work but "Call" can't take a variable.

Use CallByName. E.g., in a regular code module


Sub AAA()
Dim FF As UserForm1
Dim S As String
S = "HelloWorld"
Set FF = New UserForm1
CallByName FF, S, VbMethod
End Sub

Here, HelloWorld is a method defined in UserForm1's code module. You
need to create an instance of UserForm1 but you need not Show the form
to make it visible.

Cordially,
Chip Pearson
Microsoft Most Valuable Professional,
Excel, 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com




On Sun, 21 Feb 2010 06:29:05 -0800, "Mike"
wrote:

The reason I have to use Application run is because I need the XXX to be a
variable, like

dim zzz as string

zzz= "Userform1.xxx"

Application.Run zzz

The Call userform1.xxx does work but "Call" can't take a variable.

Thanks Peter

"Dave Peterson" wrote in message
...
Try:
Call userform1.xxx

(with userform1 loaded/shown)


Mike wrote:

I'm having problems calling Public Sub XXX that is in Userform1.

Tried

Application.Run "Userform1.XXX"

but will not work. Works OK if XXX is in a Standard Module,

Thanks for any help.


--

Dave Peterson