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

エクセルのvbaエキスパートのスタンダードの問題でわからないのがあります。

Sub M_Proc ()
 Dim a As Long
 a = F_Proc(3)
 MsgBox a
End Sub

Function F_Proc(Optional x As Long = 5) As Long
 F_Proc = x * 2
End Function

というコードで
質問1 
Optional はどういう意味でしょうか?

質問2
Optional x As Long = 5
となっているのに
xには3が代入されています。
この5は意味がないのでしょうか?

よろしくお願いします。

A 回答 (2件)

ヘルプをご覧下さい


以下抜粋
Optional 省略可能です。
指定した引数が省略可能であることを示します。
このキーワードを指定した場合、
引数 arglist のそれ以降の引数も省略可能でなければならず、
すべてキーワード Optional を付けて宣言する必要があります。
キーワード ParamArray を使った場合は、
どの引数に対してもキーワード Optional は指定できません。

つまり今回は省略した場合は、5 が適用されて
指定した場合はその値3が渡されるということです。
    • good
    • 0
この回答へのお礼

分かりやすい説明ありがとうございました。

お礼日時:2011/06/12 21:17

何でも質問せずとも、Googleで「Optionalキーワード」「VBA Optional」]照会すれば解説が沢山出るよ。

基礎的な、定義みたいな質問はWEB照会してからにしたほうが良い。
http://officetanaka.net/excel/vba/statement/Func …
http://www.relief.jp/itnote/archives/001832.php
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2011/06/12 21:18

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


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