Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 52
Default cancel a combobox change

Hello. I want to be able to cancel a combobox change. Cancel is not
parameter in the change event, and there is not a beforechange event. I have
pasted my attempt below. No matter what item is selected in the event for
the combobox, it always changes back to whatever the user selected at the
conclusion of the event. Is there a work around that would effectivly be the
same as canceling the change?

Private Sub ComboBox1_Change()
Dim RUSure As Integer, GoBack As Integer
GoBack = ComboBox1.ListIndex 'set the goback value in case user wants to
cancel.
If SavedList = False Then
RUSure = MsgBox("Do you want discard changes to the list?", vbYesNo)
If RUSure = vbYes Then
SavedList = True
Else
ComboBox1.ListIndex = GoBack 'This line is my attempt to change it
back.
Exit Sub
End If
End If
ListBox2.Clear
If ComboBox1.ListIndex -1 Then
For Each v In ThisWorkbook.Worksheets("SkillsDetails").Range("A: A")
If v = Empty Then Exit For
If v = ComboBox1.Text Then
ListBox2.AddItem v.Offset(0, 1).Value
End If
Next v
End If
End Sub




--
Thanks,
Mike
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,565
Default cancel a combobox change

It could be done with a simple loop that prevents any action being taken as
a result of the change unless the message box response equals vbYes,

RETRY:
'Code that calls the UserForm for the combobox
Private Sub ComboBox1_Change()
Ans = MsgBox("Are you sure the selection/entry is correct", _
vbYesNo, "VALIDATE")
If Ans = vbNo Then
GoTo RETRY:
End If
'Continue code execution
End Sub




"Mike Archer" wrote in message
...
Hello. I want to be able to cancel a combobox change. Cancel is not
parameter in the change event, and there is not a beforechange event. I
have
pasted my attempt below. No matter what item is selected in the event for
the combobox, it always changes back to whatever the user selected at the
conclusion of the event. Is there a work around that would effectivly be
the
same as canceling the change?

Private Sub ComboBox1_Change()
Dim RUSure As Integer, GoBack As Integer
GoBack = ComboBox1.ListIndex 'set the goback value in case user wants to
cancel.
If SavedList = False Then
RUSure = MsgBox("Do you want discard changes to the list?", vbYesNo)
If RUSure = vbYes Then
SavedList = True
Else
ComboBox1.ListIndex = GoBack 'This line is my attempt to change it
back.
Exit Sub
End If
End If
ListBox2.Clear
If ComboBox1.ListIndex -1 Then
For Each v In ThisWorkbook.Worksheets("SkillsDetails").Range("A: A")
If v = Empty Then Exit For
If v = ComboBox1.Text Then
ListBox2.AddItem v.Offset(0, 1).Value
End If
Next v
End If
End Sub




--
Thanks,
Mike



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
combobox after change but user hits cancel to message box VBANovice Excel Programming 5 March 5th 10 11:14 PM
Cancel sheet change event NSK Charts and Charting in Excel 1 July 17th 07 08:25 PM
Disabling 'Cancel' option when saving work (Yes/No/Cancel) [email protected] Excel Programming 0 July 11th 06 09:28 PM
Cancel Validation and Change Event cholley Excel Programming 0 March 20th 06 11:57 PM
Cancel Macro is user selects 'cancel' at save menu Mark Excel Programming 1 April 6th 05 05:45 PM


All times are GMT +1. The time now is 07:23 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"