InputBoxで未入力とキャンセルを区別する方法を紹介します。未入力時は文字を入力するように促す、キャンセル時は何もしない時に利用できるのではないかと思います。
未入力判定にはStrPtr関数を使います。StrPtr関数を理解するのは結構難しいので、まずはこのようなものだとして、利用するのがよいと思います。詳しく内容を知りたい方は、こちらの記事が参考になります。
サンプルプログラム
Option Explicit
Sub sample()
Dim s
s = InputBox("文字を入力してください", "タイトル")
If StrPtr(s) = 0 Then
MsgBox "キャンセルが押されました"
ElseIf s = "" Then
MsgBox "何も入力されていません"
Else
MsgBox s & "が入力されました"
End If
End Sub
すこし続きます。実はApplication.InputBoxというものもあります。こちらのサンプルプログラムを記載します。コード的には、こちらの方がしっくりくるかもしれませんね。
サンプルプログラム2
Option Explicit
Sub sample()
Dim s
s = Application.InputBox("文字を入力してください", "タイトル")
If s = False Then
MsgBox "キャンセルが押されました"
ElseIf s = "" Then
MsgBox "何も入力されていません"
Else
MsgBox s & "が入力されました"
End If
End Sub