ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How to activate InputBox Cancel Function (https://www.excelbanter.com/excel-programming/415366-how-activate-inputbox-cancel-function.html)

Chua

How to activate InputBox Cancel Function
 
I use InputBox to display a simple dialog box so that User can enter
information to be used in a macro. The dialog box has an OK button and a
Cancel button. How do I activate the Cancel button to perform the function
that I want?

I tried below code but it will do nothing and exit the program even when
User click the OK button.

a = InputBox ("Enter Password to Proceed:")

If vbCancel = True Then
Do nothing
End If

If a < "12345" Then
MsgBox "INVALID PASSWORD !!!" & vbNewLine & "You have no administrator
rights to access the function.", vbCritical

End
End If

NateBuckley

How to activate InputBox Cancel Function
 
I think when you click cancel it simple returns a 0 length string. So the
only way you can test if they clicked cancel is by checking the string that
is returned. Like so

Public Sub cancelInput()
Dim a As String
Dim hasPassword As Boolean
'Begin a loop that won't end till the user has inputted a password
While hasPassword = False
'assign the variable a to what ever Inputbox returns.
a = InputBox("Enter Password")
'If a's length is 0 then the user either clicked cancel
'or clicked OK with nothing entered.
If Len(a) = 0 Then
MsgBox ("Cancel or no password entered")
Else
MsgBox ("Your password is " & a)
hasPassword = True
End If
Wend
End Sub

Apart from checking the lenght or if a = "" don't think you can test it any
other way.

"Chua" wrote:

I use InputBox to display a simple dialog box so that User can enter
information to be used in a macro. The dialog box has an OK button and a
Cancel button. How do I activate the Cancel button to perform the function
that I want?

I tried below code but it will do nothing and exit the program even when
User click the OK button.

a = InputBox ("Enter Password to Proceed:")

If vbCancel = True Then
Do nothing
End If

If a < "12345" Then
MsgBox "INVALID PASSWORD !!!" & vbNewLine & "You have no administrator
rights to access the function.", vbCritical

End
End If


Chua

How to activate InputBox Cancel Function
 
Hi Nate,

Thanks for sharing. I have tried this method before and it do works. I am
just wondering whether InputBox function can have similar function like
MsgBox that allows User to write different codes for OK button, Cancel
button....etc any other buttons.

Cheers
Chua


"NateBuckley" wrote:

I think when you click cancel it simple returns a 0 length string. So the
only way you can test if they clicked cancel is by checking the string that
is returned. Like so

Public Sub cancelInput()
Dim a As String
Dim hasPassword As Boolean
'Begin a loop that won't end till the user has inputted a password
While hasPassword = False
'assign the variable a to what ever Inputbox returns.
a = InputBox("Enter Password")
'If a's length is 0 then the user either clicked cancel
'or clicked OK with nothing entered.
If Len(a) = 0 Then
MsgBox ("Cancel or no password entered")
Else
MsgBox ("Your password is " & a)
hasPassword = True
End If
Wend
End Sub

Apart from checking the lenght or if a = "" don't think you can test it any
other way.

"Chua" wrote:

I use InputBox to display a simple dialog box so that User can enter
information to be used in a macro. The dialog box has an OK button and a
Cancel button. How do I activate the Cancel button to perform the function
that I want?

I tried below code but it will do nothing and exit the program even when
User click the OK button.

a = InputBox ("Enter Password to Proceed:")

If vbCancel = True Then
Do nothing
End If

If a < "12345" Then
MsgBox "INVALID PASSWORD !!!" & vbNewLine & "You have no administrator
rights to access the function.", vbCritical

End
End If


NateBuckley

How to activate InputBox Cancel Function
 
Unfortunetly unlike the MsgBox which returns an integer and that value
depending if you clicked Ok,cancel etc, Inputbox just returns a string.

Perhaps there is a way but I'm not aware of one. You could just create your
own userform and make it act like a Inputbox that performs as you wish.



"Chua" wrote:

Hi Nate,

Thanks for sharing. I have tried this method before and it do works. I am
just wondering whether InputBox function can have similar function like
MsgBox that allows User to write different codes for OK button, Cancel
button....etc any other buttons.

Cheers
Chua


"NateBuckley" wrote:

I think when you click cancel it simple returns a 0 length string. So the
only way you can test if they clicked cancel is by checking the string that
is returned. Like so

Public Sub cancelInput()
Dim a As String
Dim hasPassword As Boolean
'Begin a loop that won't end till the user has inputted a password
While hasPassword = False
'assign the variable a to what ever Inputbox returns.
a = InputBox("Enter Password")
'If a's length is 0 then the user either clicked cancel
'or clicked OK with nothing entered.
If Len(a) = 0 Then
MsgBox ("Cancel or no password entered")
Else
MsgBox ("Your password is " & a)
hasPassword = True
End If
Wend
End Sub

Apart from checking the lenght or if a = "" don't think you can test it any
other way.

"Chua" wrote:

I use InputBox to display a simple dialog box so that User can enter
information to be used in a macro. The dialog box has an OK button and a
Cancel button. How do I activate the Cancel button to perform the function
that I want?

I tried below code but it will do nothing and exit the program even when
User click the OK button.

a = InputBox ("Enter Password to Proceed:")

If vbCancel = True Then
Do nothing
End If

If a < "12345" Then
MsgBox "INVALID PASSWORD !!!" & vbNewLine & "You have no administrator
rights to access the function.", vbCritical

End
End If


Gary Keramidas

How to activate InputBox Cancel Function
 
check out the inputbox method in vb help

Option Explicit
Sub test()
Dim result As String
result = Application.InputBox("Enter String", "Test", , , , , , 2)
If result = False Then
MsgBox "cancel pressed"
Exit Sub
Else
MsgBox result
End If
End Sub

--


Gary


"Chua" wrote in message
...
I use InputBox to display a simple dialog box so that User can enter
information to be used in a macro. The dialog box has an OK button and a
Cancel button. How do I activate the Cancel button to perform the function
that I want?

I tried below code but it will do nothing and exit the program even when
User click the OK button.

a = InputBox ("Enter Password to Proceed:")

If vbCancel = True Then
Do nothing
End If

If a < "12345" Then
MsgBox "INVALID PASSWORD !!!" & vbNewLine & "You have no administrator
rights to access the function.", vbCritical

End
End If





All times are GMT +1. The time now is 01:57 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com