Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
InputBox: Separate CANCEL and 0 | Excel Programming | |||
How do I capture CANCEL on an Inputbox? | Excel Programming | |||
InputBox - cancel button | Excel Programming | |||
InputBox Function & Cancel | Excel Programming | |||
Clicking Cancel on an Inputbox | Excel Programming |