Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Why does the click event get control?
I have the following code in the workbook_open event
Private Sub Workbook_Open() On Error GoTo errhand ActiveWorkbook.Sheets(1).Select ActiveSheet.Codes.Width = 200 ActiveSheet.Codes.ColumnCount = 2 ActiveSheet.Codes.BoundColumn = 2 ActiveSheet.Codes.ColumnWidths = "2 IN;.5IN" ActiveSheet.Codes.TextColumn = 1 ActiveSheet.Codes.ListFillRange = "=Codes" ActiveSheet.Codes.Visible = False Exit Sub errhand: MsgBox "Error Number is " & Err.Number & " Error Description is " & Err.Description End Sub When the Codes "BoundColumn" Statement is executed, control passes to the Codes_Click Event. Codes is a combo box on sheet 1 Why does this happen? How do I set the BoundCOlumn without giving up control? TIA Lee Hunter |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Why does the click event get control?
Hi Lee,
Your code is triggering the Click event (it triggered the Change event in my testing, but nonetheless), which you ascertained. To stop this from happening, you can use a global Boolean variable to track whether you want event code to "run" or not. Add this to a public module: Public gbDisableEvents Now, in your code: Private Sub Workbook_Open() On Error GoTo errhand gbDisableEvents = True ActiveWorkbook.Sheets(1).Select ActiveSheet.Codes.Width = 200 ActiveSheet.Codes.ColumnCount = 2 ActiveSheet.Codes.BoundColumn = 2 ActiveSheet.Codes.ColumnWidths = "2 IN;.5IN" ActiveSheet.Codes.TextColumn = 1 ActiveSheet.Codes.ListFillRange = "=Codes" ActiveSheet.Codes.Visible = False ExitRoutine: gbDisableEvents = False Exit Sub errhand: MsgBox "Error Number is " & Err.Number & " Error Description is " & _ Err.Description Resume ExitRoutine End Sub Now, in your event handlers, just do this: Private Sub Codes_Click() If Not gbDisableEvents Then '/ your code End If End Sub -- Regards, Jake Marx www.longhead.com [please keep replies in the newsgroup - email address unmonitored] Lee Hunter wrote: I have the following code in the workbook_open event Private Sub Workbook_Open() On Error GoTo errhand ActiveWorkbook.Sheets(1).Select ActiveSheet.Codes.Width = 200 ActiveSheet.Codes.ColumnCount = 2 ActiveSheet.Codes.BoundColumn = 2 ActiveSheet.Codes.ColumnWidths = "2 IN;.5IN" ActiveSheet.Codes.TextColumn = 1 ActiveSheet.Codes.ListFillRange = "=Codes" ActiveSheet.Codes.Visible = False Exit Sub errhand: MsgBox "Error Number is " & Err.Number & " Error Description is " & Err.Description End Sub When the Codes "BoundColumn" Statement is executed, control passes to the Codes_Click Event. Codes is a combo box on sheet 1 Why does this happen? How do I set the BoundCOlumn without giving up control? TIA Lee Hunter |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
call a function on control click event | Excel Discussion (Misc queries) | |||
Click event to run only once | Excel Programming | |||
Click event to run only once | Excel Programming | |||
On Click Event?, and how to use | Excel Programming | |||
VBA- Calendar Control Click Event W Specific Select Case requirements | Excel Programming |