
No.6ベストアンサー
- 回答日時:
テストしてみましたが、マクロ名で引数を指定出来ないように思います。
変数 BookName を宣言セクションで宣言しておいて、事前にブック名を
代入しておき、
Public BookName As String
メニューの「ファイル1を開く」ボタンを押したとき、実行するマクロ名を
換えて(引数なしで)、そこから引数を付けて BookOpen を呼び出す方法で
どうでしょうか?
---------------------------
With Instmenu
.OnAction = "マクロ1"
---------------------------
Sub マクロ1()
BookOpen (BookName)
End Sub
こんな方法より気が付きません。
テストして頂いて有難うございます。
開くブックが複数あるのでどうしても引数が必要になってくるのです。現状では貴殿にアドバイス頂いたものは使うことはできませんが、関数に”皮をかぶせる”(?)ということは考えたことがなかったので今後の参考にさせて頂きます。
今回は有難うございました
No.5
- 回答日時:
No3 ですが、なさりたいことの、内容が分からないまま書き込んでしまいました。
どうも違うみたいですので、取り消します。この回答への補足
すいません。具体的に言うと、下記の感じでツールバーを動的に作ったのですが、
Dim Instmenu
'ツールバー「メニュー」作成
CommandBars.Add Name:="メニュー", _
Position:=msoBarTop, _
temporary:=True
CommandBars("メニュー").Visible = True
'マクロの追加
Set Instmenu = CommandBars("メニュー").Controls.Add
With Instmenu
.OnAction = "BookOpen"
.BeginGroup = True
.Caption = "ファイル1を開く"
.Style = msoButtonCaption
End With
OnActionプロパティでBookOpenにパラメータを渡すと、そんなマクロはないと怒られてしまいます。
因みにBookOpenはこのようになっています
Sub BookOpen(BookName As String)
'ブックを開く処理(引数:開くブック名)
'ユーザーフォームを隠す(再表示可)
UserForm1.Hide
'Excel表示有効にする
Application.Visible = True
'ブックを開く
Application.Workbooks.Open Filename:=ThisWorkbook.Path & "\" & BookName
Workbooks(BookName).Activate
'ブックの最大化
Book_Maximized
'ファイルへの変更無し(初期値)
ActiveWorkbook.Saved = True
End Sub
確かにマクロに登録はされていないのですが、パラメータを渡さないようにするとマクロとして認識してくれるのですよ。
…なんかわからないことをつらつらと書きましたが、ご理解してくだされば幸いです。
No.4
- 回答日時:
一番最初に実行されるSubモジュールに値を渡したいと言うことでしょうが、VBAはコンパイルしたモジュールにはならないし、モジュール名をキーボードから入力しないので、普通の、人間が場合に応じてプログラム名の後に続けて入れるパラメータは考えにくいです。
実行前に決めたセルに値をセットしてそれを使うと、パラメータ的に使えますし、またPublic、Static変数的にも使えます。
別モジュールに引数を渡すことなら、下記例はご参考になりませんでしょうか。
Sub test03()
a = 2
test021 (a)
End Sub
Sub test021(a)
MsgBox a
End Sub
test03を実行するとtest021に2が渡され、そこで「2」と表示されます。
アドバイスに感謝いたします。
申し訳ないのですが当質問に関係ない場所で使わせていただきました。
Subを使えば戻り値なしでOKなんですね。VBを中途半端に勉強しただけだったので勉強になりました。
今回は有難うございました。
No.3
- 回答日時:
Excel VBA ですよね。
「プロシージャーに引数を渡したい」ということであれば、
Function プロシージャーに記述すれば、セルの値だけに限らず、
定数なども渡せると思います。
詳しくは、ヘルプで「Function ステートメント」を調べてみたら
よいでしょう。
具体的にどういうことをなさりたいのかを書いた方が、レスしやすいかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
血液検査の結果が悪くefgrの値...
-
増減表のプラスマイナスの符号...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
Excel 数値の前の「 ' 」を一括...
-
風俗店へ行く前のご飯
-
病院側から早く来てくださいと...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
アクエリアスが苦く感じる
-
EXCELで式からグラフを描くには?
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
鏡についてです。自分の体型を...
-
足がまだら模様になります。ど...
-
一番多く表示のある値(文字列...
-
小数点以下を繰り上げたものを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
血小板増加について
-
彼女のことが好きすぎて彼女の...
-
Excel 数値の前の「 ' 」を一括...
-
病院側から早く来てくださいと...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
一番多く表示のある値(文字列...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
増減表のプラスマイナスの符号...
-
【Excelで「正弦波」のグラフを...
-
エクセルで数式の答えを数値と...
おすすめ情報