• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel:メニューから関数に飛ぶ際に引数を持たせる)

Excel関数実行時の引数の持たせ方とは?

このQ&Aのポイント
  • Excel2003のマクロでメニューから関数に飛ぶ際に引数を持たせる方法を教えてください。
  • Jikkouという関数に異なるメニューから移動する際、選択されたメニューによって処理を分岐させたいです。
  • また、引数の持たせ方に加えて、他の方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.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

tktk1228
質問者

お礼

回答ありがとうございます。 前回のお礼時に書込んだURLの中の情報がタイミング良く(悪く)消えてしまったので少々困ってました。 お陰で解決いたしました。 しかし、同時に教えていただいたTagを利用する方法の方が使いやすいので、 こちらをメインに使っていきそうです。 ありがとうございました。

その他の回答 (1)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

  .OnAction = "Jikkou(0)"   .OnAction = "Jikkou(1)" とか。

tktk1228
質問者

お礼

回答ありがとうございます。 エラーは出なかったし、引数として使えているようですが、 挙げたコードに組み込むと、なぜかメッセージボックスが2回でますね。 検索したところ関係ありそうな http://www.moug.net/faq/viewtopic.php?t=28150 を見つけたので読んでみます。

関連するQ&A