投稿者 魔界の仮面弁士  (社会人) 投稿日時 2018/5/24 01:46:15
> TryParseは数値変換して変換が成功したか失敗したかを返すのはわかるんですけれども。。。 

そうですね。TryParse が False を返した場合、それは
非数値が入力されていた(または空欄だった)ことを意味します。

そして TryParse は、数値変換が成功した場合、True を返すだけではなく
出力引数に渡された変数 d に対して、変換結果の値をセットする仕様です。
(ちなみに変換に失敗した場合には、d にゼロがセットされます)


そして当初の仕様では、変換結果は正数でなければならず、ゼロや負数に対しては、
> MsgBox("0か負の値がはいっています")
を表示して、入力欄を赤く染め上げることが目的だったわけですから、
単に数値変換できただけでは不十分であり、そこからさらなる追加判定で、
変換結果の d の値が 0 よりも大きければ正常、
0 以下ならが赤くするという追加判定も必要になりますよね。

そのための「AndAlso」です。