重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Q1
以下の【値を渡されたコード】から、実行すると、プロシージャ選択画面が出ます
当該画面を出さないようには出来ますか???

ちなみに、モジュールには当該2つのコードしか記述ありません


【値を渡されたコード】
Sub あいうえお(ByRef ws As Worksheet)

ws.Cells(1, 1) = "あいうえお"

ws.Cells(1, 2) = "かきくけこ"

End Sub


Q2【値を渡されたコード】から実行し、Sub 別ブックへ転記()プローシジャを選択すると

Sub あいうえお(ByRef ws As Worksheet)のプローシジャだけではなく、Sub 別ブックへ転記()プローシジャ
も実行されてしまいます。当該、動きは仕様でしょうか???
イメージは、Sub あいうえお(ByRef ws As Worksheet)だけ実行したので、他のプローシジャは
実行されないのではないかという、印象があります



【コード】
Sub 別ブックへ転記()

Dim filpath1 As String

Dim wb1 As Workbook

Dim ws1 As Worksheet

filepath1 = ThisWorkbook.Worksheets("Sheet1").Cells(141, 1)

Set wb1 = Workbooks.Open(filepath1)

Set ws1 = wb1.Worksheets("Sheet1")


ws1.Cells(2, 1) = "xxx"

Call あいうえお(ws1)

End Sub
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Sub あいうえお(ByRef ws As Worksheet)

ws.Cells(1, 1) = "あいうえお"

ws.Cells(1, 2) = "かきくけこ"


End Sub

A 回答 (2件)

こんにちは



>プロシージャ選択画面が出ます
>当該画面を出さないようには出来ますか???
引数を取るプロシージャは、(引数が指定されないので)直接実行はできません。
(論理的な考えができれば、当然のことだとわかるはずです)

他のプロシージャからでも
 Call あいうえお
のように引数を省略して呼び出せば、エラーになります。
((必要な)引数が指定されていないので )

受け取り側で、引数を「省略可能」な引数にしておけば、
 Call あいうえお
のように省略しても、デフォルト値で実行するような仕組みにはできますが、手動等で直接実行することはできません。
https://learn.microsoft.com/ja-jp/office/vba/lan …


>Sub 別ブックへ転記()プローシジャ
>も実行されてしまいます。当該、動きは仕様でしょうか???
上記の理由で、引数を取るプロシージャは直接実行できないので、ダイアログに出てくるプロシージャ名には表示されないはずです。

何か勘違いなさっているようですが、ダイアログは「実行するプロシージャを指定」するためのものなので、そこで指定したプロシージャが実行されているだけです。
    • good
    • 1

そもそも、


Sub あいうえお(ByRef ws As Worksheet)
のように引数をもっといる場合、直接、Sub あいうえお を実行することはできないと思いますが、
どうして、そのようなことをなさりたいのでしょうか。

もし、
sub proc1()
call proc2
call proc3
end

sub proc2()
・・・途中省略・・・
end

sub proc3()
・・・途中省略・・・
end

となっていて、proc2,proc3を直接呼び出したいなら、
proc2,proc3は、
①引数を持たないこと
②モジュール変数を参照しないこと
が条件になります。
    • good
    • 1
この回答へのお礼

ご指摘ありがとうございます
引数を受け取るプロシージャ単体では
実行できないんですね

やりたい理由は、引数を受け取った後の動きを、確認したいだけです

なので、渡す側からやれば分かる
のですが、callのプロシージャが
増えてくると、全部のプロシージャが、実行されるとわかりにくいので
単体で、出来ないかなぁと考えました

仕様であればOKです
ありがとうございます

お礼日時:2025/02/23 15:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A