.onaction macro call won't work

G

Guest

Sorry for the crosspost, put it in the wrong forum.

I created a custom toolbar first without code and
attached macros to the buttons, and they worked fine.
however, I had problems sharing the workbook with others;
I followed some code posted here to create a toolbar in
code, I used the .onaction property to assign the buttons
to the same macros but they don't work - it says macro
doesn't exist!!

I noticed this difference - when it fails it says the
macro "filename.xls!macroname" not found. But when I use
the toolbar customize fature to assign the macro it's in
the form "Thisworkbook!macroname". Looking for help!!

Wayne
 
R

Rob van Gelder

I have commandbar examples on my website.

Often your symptoms will occur when there is some sort of compile error.
If the module doesn't compile, OnAction cannot find the macro to run.

Perhaps there is a missing reference?
 
B

Bob Phillips

Are you sure that you put your macros in a standard code module, not one of
the calls modules such as ThisWorkbook, or the sheet modules?

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
W

Wayne

I did put it in th4 ThisWorkbook module. I don't have a
clear understanding yet of what goes where! Obviously...

So that was a mistake? :)

Wayne
 
B

Bob Phillips

Yes it was. Put it in a standard code module and re-assign the macros to the
buttons.

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
W

Wayne

Thanks will do.

But another related question. Where should you store
global varaible declarations and assignments? I put them
in the workbook On_open event handler. Is that correct?

Wayne
 
B

Bob Phillips

What do you mean by global variable declarations and assignments?

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
W

Wayne

Option explicit
dim file1, file2 as string
file1 = "pathtofile1)
file2 = "pathtofile2"

etc. Variables I want to use in a number of macros and
don't change

Wayne
 
B

Bob Phillips

It is fine to put them in the Workbook_Open event, but declare them in a
standard code module, else they will be local to ThisWorkbook.

--

HTH

RP
(remove nothere from the email address if mailing direct)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top