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
|