では、続き。

InputBox 関数のマニュアルのミスとは、キャンセルされた場合に返す値である。

実際には、InputBox 関数でキャンセルすると、長さ 0 の文字列 ("") ではなく、vbNullString が返る。 この、vbNullString は、"" とは異なる値である。

InputBox 関数で OK を押した場合、テキストボックスの内容が戻り値となる。 テキストボックスが空の場合は "" が返るので、キャンセルの vbNullString と区別することができる。

ただ、1 つ大きな問題がある。 vbNullString"" をどうやって区別すれば良いのか。

困ったことに、VBA の一般的な方法では、上記を区別するのは困難なので、特別な方法を使う必要がある。