Você sabia que é possível distinguir entre um usuário clicando em "OK" em um InputBox versus "Cancelar", mesmo que não tenha digitado nenhum texto?
Considere o seguinte código de exemplo:
Sub InputBoxTest()
Dim Result As String
Result = InputBox("Leave this box blank")
If StrPtr(Result) = 0 Then
Debug.Print "User clicked [Cancel]"
ElseIf Len(Result) = 0 Then
Debug.Print "User clicked [OK]"
Else
Debug.Print "User can't follow instructions"
End If
End Sub
Aqui está o código de teste em ação:
Se você estiver interessado em saber por que isso funciona, recomendo a seguinte pergunta sobre stackoverflow:Quais são os benefícios e riscos de usar StrPtr no VBA? Vale a pena ler as duas respostas mais votadas (dos usuários Comintern e GSerg) para obter conhecimento prévio.