|
sasa さん
>MsgBox Application.CommandBars.ActionControl.Text
で、
コンボボックス選択アクション直後の値取得が可能となるとの事了解致しました。
ついては、もう一つ質問なのですが、
コンポボックスをコード3の様に複数配置し、
各々の値を同時に取得する為には、どの様な対処が可能でしょうか?
"ユーザメニューボタン"がどこにも表れていない事が本質的な原因と思いますが、
メニューバーに配置した"ユーザメニューボタン"の指定の仕方などあるでしょうか?
○コード3
Sub OnCommandButtonAdd()
Call OnCommandButtonDel
Set mymbar = Application.CommandBars("Worksheet Menu Bar")
Set mymbar1 = mymbar.Controls.Add(Type:=msoControlPopup)
With mymbar1
.TooltipText = ThisWorkbook.Name
.Caption = "ユーザメニューボタン"
End With
Set mymbar2 = mymbar1.Controls.Add(Type:=msoControlButton)
With mymbar2
.Style = msoButtonIconAndCaption
.Caption = "XX"
.OnAction = "OnCbarChg"
End With
Set mymbar2 = mymbar1.Controls.Add(Type:=msoControlComboBox)
With mymbar2
.Caption = "ComboBox"
.OnAction = "コンボボックス値表示"
.AddItem "表示A"
.AddItem "表示B"
.ListIndex = 1
End With
Set mymbar2 = mymbar1.Controls.Add(Type:=msoControlComboBox)
With mymbar2
.Caption = "ComboBox2"
.OnAction = "コンボボックス値表示"
.AddItem "表示C"
.AddItem "表示D"
.ListIndex = 1
End With
End Sub
Sub コンボボックス値表示()
MsgBox Application.CommandBars("Worksheet Menu Bar").Controls("ComboBox").Text ←ダメ例※お恥ずかしい...
MsgBox Application.CommandBars.ActionControl.Text ←アクション直後の値
コンボボックス値表示の値表示 ←やりたい事
コンボボックス値表示2の値表示 ←やりたい事
End Sub
|
|