ОБНОВЛЕНИЕ: Я удалил оператор Me.multipage_new_plan.value = 0
, и теперь процедура работает, как и ожидалось.Однако для этого также необходимо, чтобы свойство .value
многостраничного элемента управления было установлено вручную в редакторе VBA.Мне все еще интересно, почему это утверждение вызывает проблемы в одной версии Excel, а не в другой?
Я ищу идеи о том, почему пользовательская форма правильно инициализируется и отображается в Excel 2016 для Office.365 (16.0.10730.20264) 32-разрядная версия приведет к зависанию всей программы Excel в последней строке процедуры инициализации в Excel 2016 (16.0.4738.1000) 32-разрядной версии.
Я могу пройти процедуру инициализации до утверждения Me.multipage_new_plan.value = 0
, а затем Excel зависает в этот момент в версии 16.0.4738.
Option Explicit
Private Sub UserForm_Initialize()
Dim i As Double
' Set the options for the aircraft number and quarters combox boxes
For i = 1 To 15
Me.cb_quarters.AddItem i
If i > 2 Then Me.cb_acft_number.AddItem i
Next i
' Set the currentplan and status sheet name combo boxes
Me.cb_current_plan_name.Clear
Me.cb_current_status_sheet.Clear
For i = 1 To Sheets.Count
Me.cb_current_plan_name.AddItem Sheets(i).Name
Me.cb_current_status_sheet.AddItem Sheets(i).Name
Next
update_btn = False
Me.cb_acft_number.ListIndex = 3
' Correct for border size calculations bug in Excel 2016
Me.Height = 510
Me.Width = 800
Me.Caption = NEW_PLAN_FORM_TITLE
Me.multipage_new_plan.value = 0 ' <--- freezes on or after this line
End Sub ' <--- cannot step to this line in break mode
Мысли о том, что может быть виновникомздесь