VBAに関する質問です。下記のスクリプトで、call ttt(inu:="チワワ") だけでもエラーが起こらないようにはできるのでしょうか? 引数として定義されていなと適当に補完するようなことはできないのでしょうか?

ttt(neko:="猫",inu:="犬") のように、呼び出されるプロシージャーに定義すると、引数の数が合わなくても、オッケー
になる方法はないでしょうか?

Sub ttt(neko, inu)
MsgBox inu
End Sub

Sub test()
Call ttt(inu:="チワワ", neko:="みけ")
End Sub

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2009/11/14 17:36:03
  • 終了:2009/11/15 11:59:03

回答(3件)

id:azumi1975 No.1

azumi1975回答回数337ベストアンサー獲得回数162009/11/14 17:48:27

ポイント27pt

ユーザー定義関数で引数を省略可能に-Optionalキーワード

http://www.relief.jp/itnote/archives/001832.php

id:jccrh1 No.3

jccrh1回答回数111ベストアンサー獲得回数192009/11/14 19:48:55

ポイント26pt

引数に「Optional」を指定すれば、できます。

Sub main()
 Call ttt(inu:="チワワ", neko:="みけ")
 Call ttt
End Sub

Sub ttt(Optional inu As String = "犬", Optional neko As String = "猫")
  Debug.Print inu
  Debug.Print neko
End Sub

【結果は以下のようになります】

チワワ

みけ

 

ダミー:http://q.hatena.ne.jp/1258187761

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません