Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
toggle button or worksheet_activate causing form to open twice
Let's look at a simplified situation which is probably the cause of your
problem. If I put in code like Private Sub ToggleButton1_Click() MsgBox ToggleButton1.Value With ToggleButton1 .Caption = "Protect Sheets" .Value = False End With End Sub then the click event runs twice. When you change the value to False, it triggers another click. You would need to do something like Public bBlockEvents Private Sub ToggleButton1_Click() If bBlockEvents Then Exit Sub bBlockEvents = True MsgBox ToggleButton1.Value With ToggleButton1 .Caption = "Protect Sheets" .Value = False End With bBlockEvents = False End Sub so i use a public variable to cause the second click event to exit immediately. -- Regards, Tom Ogilvy "Nicole B" wrote in message ... I have a userform that prompts for a password. I posted yesterday regarding the fact that when I click a button, it runs through a macro, either opens a msgbox or opens a userform, then when you click OK to close the userform (and run another macro to validate the input), the userform, or message box, reopens. I debugged and stepped through the macro (from ProtectionToggle_Click() Sub to called macros) and it did not come up twice. Also, I have run the userform macro from VB and it works fine. It seems to only be a problem if I run it from the toggle button in Excel. I think it may be either the toggle buttons causing the problem or the Worksheet_Activate macro. Could someone take a look? Code for Toggle Button: Private Sub ProtectionToggle_Click() Application.ScreenUpdating = False If wkshtInventoryHome.ProtectContents = True Then With ProtectionToggle .Caption = "Protect Sheets" .Value = False End With Call RunProtectionPasswordUserForm ElseIf wkshtInventoryHome.ProtectContents = False Then Response = MsgBox("Are you sure you want to protect the worksheet?" _ & vbLf & "This action cannot be undone without a password.", vbOKCancel, _ "Confirm Protect Sheets") If Response = vbOK Then With ProtectionToggle .Caption = "Begin Advanced Editing" .Value = False End With End If 'after button is pressed: Call WorkbookProtect End If Application.ScreenUpdating = True End Sub Worksheet Activate: Private Sub Worksheet_Activate() If wkshtLumberShores.ProtectContents = True Then ProtectionToggle.Caption = "Begin Advanced Editing" ElseIf wkshtLumberShores.ProtectContents = False Then ProtectionToggle.Caption = "Protect Sheets" End If End Sub |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
how do I toggle between 2 open excel files and leave both open | Excel Discussion (Misc queries) | |||
Toggle Form Button Copied | Excel Discussion (Misc queries) | |||
Need to Use 1 Button to toggle On or Off | Excel Discussion (Misc queries) | |||
use a button to open a user form? | Excel Discussion (Misc queries) | |||
Toggle Button | Excel Programming |