InputBox 関数のキャンセルを正しく判定する

If (InputBox("キャンセルを判定") = "") Then

InputBox 関数でキャンセルボタンが押されたことを判断する場合 上記のように "" (空文字) と比較する処理で 正しくキャンセルを
判定することができるように思えますが この記述では 何も入力せずに OK ボタンを押した場合と結果が同じになってしまいます

それほど大きな問題にはなりませんが 両者を正しく判定する場合には 下記のように記述します

Dim st_return As String

st_return = InputBox("キャンセルを判定")
If (StrPtr(st_return) = 0) Then

StrPtr 関数は引数に vbNullString を指定した場合のみ 0 となるので キャンセルボタンを正しく判定することができます
String 型の変数が初期化されていないことを判定することもできます