ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Menu Help - cell reference (https://www.excelbanter.com/excel-programming/345767-menu-help-cell-reference.html)

dan

Menu Help - cell reference
 
Have a large workbook and placing a menu to manuever around. I want to base
the menu list off a cell range. Names may change. I cant figure this out

Dim myMnu As Object

Set myMnu = CommandBars("Worksheet menu bar").Controls. _
Add(Type:=msoControlPopup, befo=2)

With myMnu
.caption = "&Volunteers"
.Controls.Add(Type:=msoControlButton, befo=1).caption =
Sheet1.Range("m21")
..Controls(Sheet1.Range("m21")).OnAction = "Vol1" (blows out here)
End with

The values match. I have created menus for successfully with the same code
with the exception of using the range ie caption ="text" ....
..controls("text).OnAction etc
Where am I going wrong. MUCH thanks in advance

JE McGimpsey

Menu Help - cell reference
 
This worked for me:

.Controls(Sheet1.Range("m21").Text).OnAction = "Vol1"

Unless you need the object variables, though, my preference would be to
use something like this:

With CommandBars("Worksheet menu bar").Controls.Add( _
Type:=msoControlPopup, befo=2)
.Caption = "&Volunteers"
With .Controls.Add(Type:=msoControlButton, befo=1)
.Caption = Sheet1.Range("m21").Text
.OnAction = "Vol1"
End With
End With



In article ,
Dan wrote:

Have a large workbook and placing a menu to manuever around. I want to base
the menu list off a cell range. Names may change. I cant figure this out

Dim myMnu As Object

Set myMnu = CommandBars("Worksheet menu bar").Controls. _
Add(Type:=msoControlPopup, befo=2)

With myMnu
.caption = "&Volunteers"
.Controls.Add(Type:=msoControlButton, befo=1).caption =
Sheet1.Range("m21")
.Controls(Sheet1.Range("m21")).OnAction = "Vol1" (blows out here)
End with

The values match. I have created menus for successfully with the same code
with the exception of using the range ie caption ="text" ....
.controls("text).OnAction etc
Where am I going wrong. MUCH thanks in advance



All times are GMT +1. The time now is 12:14 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com