Infinite loop

tiredofit

Well-known Member
Joined
Apr 11, 2013
Messages
1,924
Office Version
  1. 365
  2. 2019
Platform
  1. Windows
If I step into this code, it seems to be stuck in an infinite loop, yet if I run it, it's fine:

Code:
Option Explicit


Private Sub cmbGraph_Change()
    
    Me.cmbGraph.Clear
    
    Me.cmbGraph.List = Array("a", "b", "c")
    
    Application.EnableEvents = False
    
    Me.cmbGraph.ListIndex = 0
    
End Sub

so is it in an infinite loop and if so, how can I amend it?

Putting Application.EnableEvents = False doesn't help.

Thanks
 

Excel Facts

Easy bullets in Excel
If you have a numeric keypad, press Alt+7 on numeric keypad to type a bullet in Excel.
Since this runs on "change", you want to disable the events before making any changes (like clearing), less it will keep calling itself.
Try:
Code:
Private Sub cmbGraph_Change()
    
    Application.EnableEvents = False

    Me.cmbGraph.Clear
    
    Me.cmbGraph.List = Array("a", "b", "c")
    
    Me.cmbGraph.ListIndex = 0

    Application.EnableEvents = True
    
End Sub
 
Upvote 0
Application.Enableevents will not affect the Change event of a control. You'd need to use a control variable, although I'm not really clear why you'd want to do what you appear to be doing.
 
Upvote 0

Forum statistics

Threads
1,223,898
Messages
6,175,274
Members
452,628
Latest member
dd2

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top