Я пытаюсь выгрузить пользовательскую форму («DataEntry»), когда активной ячейки нет на соответствующем листе (индекс № 2).После сообщения появляется «Несоответствие типов '13», и я не знаю, почему, кто-нибудь может помочь?
Эта подпрограмма находится в модуле, а не в пользовательской форме.Я попытался настроить подпрограмму в пользовательской форме и вызвать ее (однострочный саб "Unload Me", но я получаю тот же результат.
Sub unloadform()
If ActiveSheet.Index <> 2 Then
MsgBox "The schedule must be selected to enter data"
Unload DataEntry
Exit Sub
End If
End Sub
Обновление: мне пришло в голову, чтобы поместить этот код вuserform initialize sub, (я не хочу, чтобы userform загружалась, если не выбран правильный лист). Теперь я получаю сообщение об ошибке Runtime '91'
Попытка замены Unload Me на Unload DataEntry (имяuserform), (тот же результат) и заменив его на Unload VBA.Userforms ("DataEntry"), что приводит к ошибке Runtime '13'.
Private Sub UserForm_Initialize()
If ActiveWorkbook.ActiveSheet.Index <> 2 Then
MsgBox "Schedule must be selected to enter data"
Unload Me
Else:
'other code if correct sheet is selected
End If
End Sub