Не видя, как настроены ваши элементы управления ActiveX, я не могу сказать вам, почему происходят их изменения.Однако, предполагая, что событие BeforeClose рабочей книги запускается до событий изменения ActiveX, вы можете добавить глобальную переменную для отслеживания закрытия рабочей книги.
В модуле кода:
Public g_bClosingWorkbook As Boolean
В ThisWorkbook:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
g_bClosingWorkbook = True
End Sub
Private Sub Workbook_Open()
g_bClosingWorkbook = False
End Sub
Затем запускайте события изменения, только если книга не закрывается.
Private Sub ComboBox1_Change()
If Not g_bClosingWorkbook Then
' do stuff here
End If
End Sub