'Why ActiveX events called earlier then "Workbookopen"

I have creared a workbook which contains ActiveX ListBox on Sheet. Then i have added event "on change" for it. It looks like:

Private Sub ListBox1_Change()
    MsgBox ("list box change called")
End Sub

Also i need to execute some code to prepare my program. In my mind the pefrect place is event "on open" of the workbook:

Private Sub Workbook_Open()
    MsgBox ("workbook opened")
End Sub

I expected that msg "workbook opened" shows faster then "list box change called", after i opened the book, but it's not.

Why does it happens and how to fix it?

(here is experimental file https://drive.google.com/drive/folders/1F_O6_8FBmUqUnpJ-oVCTDh18p6ei8SET?usp=sharing)



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source