• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA 『Call』で呼び出す意味)

Excel VBAの『Call』で呼び出す意味とは?

このQ&Aのポイント
  • Excel VBAのCallは、Subプロシージャなどを呼び出す際に使用されます。具体的には、UserForm1内のCommandButton1_ClickイベントでDATA_CREATEを呼び出す場合、Call DATA_CREATEと記述します。
  • しかし、Callを使わずにSubプロシージャを呼び出す方法もあります。例えば、Public Sub CommandButton1_Click()の中で直接DATA_CREATEと記述することでも同様の効果が得られます。
  • つまり、Callは必須ではなく、コードを見やすくするために使われることが多いです。特に複数のプロシージャを呼び出す場合には、Callを使うことでコードの組織化がしやすくなります。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! すでに回答は出ていますが、 経験上で・・・ 複数Sheetを操作したい場合、シートモジュールでは別Sheetを操作できないコトがあります。 しかし、標準モジュールでは可能です。 Changeイベントなどはシートモジュールになりますので シートモジュールで動かないコードを標準モジュールに記載しておけば 「Call」で呼び出し、別Sheetの操作も可能になることがあります。 そのような場合に「Call」を使ったりします。m(_ _)m

satoron666
質問者

お礼

回答ありがとうございました! シートモジュールを使う場合に良くCallを使うのですね! うーん、奥が深いです・・・ 回答ありがとうございました。

その他の回答 (2)

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

省略可なので、別に書かなくていいんですが、他の言語でも 「サブルーチン」を呼び出すときは「Call」を使うことが多いので、 後で見て分かりやすくするために、あえてつけている人も多い と思いますよ。 サブルーチン名だけ書いていると、一瞬何をやってるのかわから なくなりますから・・・。

satoron666
質問者

お礼

回答ありがとうございました! 他の言語だと、Call必須だったりしますよね~ 色んな言語が混ざって頭がパンクしそうです(笑 回答ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>何か意味などありましたら Callステートメントのヘルプをちょっと開いて見てみると ---------------- 解説 プロシージャを呼び出すとき、キーワード Call は省略できます。(以下略) ---------------- と書いてある通り、callを省略してプロシジャ名だけ書いてもcallで実行されてるだけです。 「何か意味」という事で言えば、可読性や、社内などでマクロの書き方ルールを定めている場合にそれに準拠するといった意味があります。

satoron666
質問者

お礼

回答ありがとうございました! callが在っても無くてもあまり変わらないとのことですかね。 callが在ったほうが、このプロシージャに飛んでる!とパッと見て分かるので、これからも書いていこうと思います。 回答ありがとうございました。

関連するQ&A