- ベストアンサー
Excel関数実行時の引数の持たせ方とは?
- Excel2003のマクロでメニューから関数に飛ぶ際に引数を持たせる方法を教えてください。
- Jikkouという関数に異なるメニューから移動する際、選択されたメニューによって処理を分岐させたいです。
- また、引数の持たせ方に加えて、他の方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 挙げたコードに組み込むと、なぜかメッセージボックスが2回でますね。 あ、そうですね。 .OnAction = "'Jikkou(0)'" ですね。 同様のことを引数を使用せずに実現する方法を御紹介。 With Menu1 .Controls.add Type:=msoControlButton With .Controls(1) .Caption = "手順1" .OnAction = "Jikkou" .Tag = 0 End With End With With Menu1 .Controls.add Type:=msoControlButton With .Controls(2) .Caption = "手順2" .OnAction = "Jikkou" .Tag = 1 End With End With Sub Jikkou() On Error Resume Next Select Case CommandBars.ActionControl.Tag Case 0 msgbox "手順1から来た" Case 1 msgbox "手順1から来た" Case Else msgbox "その他から来た" End Select End Sub
その他の回答 (1)
- bonaron
- ベストアンサー率64% (482/745)
.OnAction = "Jikkou(0)" .OnAction = "Jikkou(1)" とか。
お礼
回答ありがとうございます。 エラーは出なかったし、引数として使えているようですが、 挙げたコードに組み込むと、なぜかメッセージボックスが2回でますね。 検索したところ関係ありそうな http://www.moug.net/faq/viewtopic.php?t=28150 を見つけたので読んでみます。
お礼
回答ありがとうございます。 前回のお礼時に書込んだURLの中の情報がタイミング良く(悪く)消えてしまったので少々困ってました。 お陰で解決いたしました。 しかし、同時に教えていただいたTagを利用する方法の方が使いやすいので、 こちらをメインに使っていきそうです。 ありがとうございました。