View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
OKROB OKROB is offline
external usenet poster
 
Posts: 14
Default Can you check the coding here please?

ok, first things first... Are you just wanting to CHANGE a button, or
are you adding a button?
If you want to change an existing button, the button's position will
give you the reference number. Like I said, it's numbered from left to
right on the command bar.

With Application.CommandBars("Standard").Controls(ID:=2 950)
.OnAction = "myMacro"
End With


Basically what the error when the code above is run is telling you that
you haven't told it which button to set the the macro to.
You need to reference the button, by either the index number (if the
button exists) or when you create the button like this:

With
Application.CommandBars("Standard").Controls.Add(T ype:=msoControlButton)

.FaceId = 2950
.OnAction = "myMacro"
End With



Richard wrote:
OKROB,

How can I find the index number?

As you can see beow note, I added the icon by coding below.

With Application.CommandBars("Standard").Controls.Add( _
Type:=msoControlButton, _
ID:=2950, Befo=9)
End With

"OKROB" wrote:

Sorry, I got carried away... Reference your button's index, not it's
ID.
Example, If I have one button on the menu bar, it's index is 1. If I
have 3 buttons, then the index is it's position on the bar counting
from the left.

With Application.CommandBars("Standard").Controls(Your Button index)
.OnAction = "ThisWorkbook.myMacro"
End With



OKROB wrote:
Try this:

With Application.CommandBars("Standard")
.Controls(ID:=2950)
.OnAction = "myMacro"
End With

Regards,
Rob



Richard wrote:
Hello,

I'm trying to assgin a macro on existing menu (that I added previousely) in
command bar as below, but I 'm getting a error. By the way, ID:2950 is the
Smiley face icon.

Can anyone help me to fix it, please?

Error msg is "name or argument not found"

With Application.CommandBars("Standard").Controls(ID:=2 950)
.OnAction = "myMacro"
End With