Almost impossible to say without having your actual file... couple of pointers though:
1. .activate and .select This is bad practice - you should not need to ever activate a sheet or select a range. Never do this. It is SLOW...
So lets focus on this...
Set Result = DEsheet.Columns(3).Find(What:=FindLabel, LookAt:=xlWhole) 'find the caption of the label on DEsheet column
If Not Result Is Nothing Then 'If It is found
DEsheet.Activate
Result.Select ' i believe this line is where it really slows down, im having trouble finding a different way to grab the value it finds though
UserForm2.Controls("ComboBox" & a).value = ActiveCell.Offset(0, 1).value 'number of notes from column 4 goes in Note ComboBox for that label
UserForm2.Controls("CheckBox" & a).value = True 'checkbox for that label gets checked
Since Result is a range, you can just refer to that range... no need to select it or activate. Try this instead.
Set result = DEsheet.Columns(3).Find(What:=FindLabel, LookAt:=xlWhole) 'find the caption of the label on DEsheet column 3
If Not result Is Nothing Then 'If It is found
UserForm2.Controls("ComboBox" & a).Value = result.Offset(0, 1).Value 'number of notes from column 4 goes in Note ComboBox for that label
UserForm2.Controls("CheckBox" & a).Value = True 'checkbox for that label gets checked End Sub
2. Setting application.enablevents = false does NOT effect the events on userform controls... it only prevents events from triggering on the WORKSHEET. This leads me to point 3.
3. You are setting the values of checkboxes on a userform - is there CODE on the change event for those controls? If so, then changing their values through VBA code will trigger the "change event" for those controls. (e.g. UserForm2.Controls("CheckBox" & a).Value = True will trigger the change event for that control.
4. If your list box is linked via .rowsource property to a range in the workbook, then changing the workbook values to something else will probably trigger the listbox change event too (I'm only about 60% certain of this...)
HTH
Ger