Ошибка "Переменная использует неподдерживаемый тип автоопределения" в редакторе Visual Basic в Excel для Mac

Последнее обновление: 10 ноября 2017 г.

ПРОБЛЕМА

В октябре 2017 г. в Excel для Mac появился новый редактор Visual Basic. В этом новом редакторе VB наблюдается проблема при объявлении объектов путем выбора из раскрывающегося меню в верхней части окна ввода кода.

Если щелкнуть раскрывающийся список в левой части экрана и выбрать элемент из списка, в раскрывающемся списке в правой части экрана вы должны получить часть кода для выбранного события. Вы можете выбрать дополнительные элементы в раскрывающемся списке в правой части экрана, чтобы создать дополнительный программный код для обработки выбранного события.

Редактор VBE показывает раскрывающийся список выбора объекта

Вместо этого происходит ошибка, указывающая, что код не создан.

Ошибка редактора Microsoft Visual Basic: использование переменной и тип автоматизации не поддерживаются в Visual Basic.

СОСТОЯНИЕ: ВРЕМЕННОЕ РЕШЕНИЕ

Выберите один из следующих путей временного решения этой проблемы:

ВРЕМЕННОЕ РЕШЕНИЕ 1

Вы можете выполнить похожее действие на компьютере с Excel для Windows и скопировать код в Excel для Mac.

ВРЕМЕННОЕ РЕШЕНИЕ 2

Вы можете перейти на сайт MSDN и найти синтаксис для события, который хотите использовать, а затем ввести код вручную в свой проект VBA. В этой статье описаны события "workbook" в Microsoft Excel: События Workbook.

ВРЕМЕННОЕ РЕШЕНИЕ 3

Скопируйте соответствующий код для события из примеров ниже и вставьте его в свой проект VBA. Для каждого события не забудьте скопировать текст от "Private Sub..." до "End Sub" включительно.

    
    

Private Sub Workbook_Activate()

End Sub

Private Sub Workbook_AddinInstall()

End Sub

Private Sub Workbook_AddinUninstall()

End Sub

Private Sub Workbook_AfterRemoteChange()

End Sub

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)

End Sub

Private Sub Workbook_BeforeRemoteChange()

End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

End Sub

Private Sub Workbook_Deactivate()

End Sub

Private Sub Workbook_NewChart(ByVal Ch As Chart)

End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)

End Sub

Private Sub Workbook_Open()

End Sub

Private Sub Workbook_PivotTableCloseConnection(ByVal Target As PivotTable)

End Sub

Private Sub Workbook_PivotTableOpenConnection(ByVal Target As PivotTable)

End Sub

Private Sub Workbook_RowsetComplete(ByVal Description As String, ByVal Sheet As String, ByVal Success As Boolean)

End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

End Sub

Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)

End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

End Sub

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)

End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

End Sub

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)

End Sub

Private Sub Workbook_SheetPivotTableAfterValueChange(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal TargetRange As Range)

End Sub

Private Sub Workbook_SheetPivotTableBeforeAllocateChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)

End Sub

Private Sub Workbook_SheetPivotTableBeforeCommitChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)

End Sub

Private Sub Workbook_SheetPivotTableBeforeDiscardChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long)

End Sub

Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable)

End Sub

Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)

End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

Private Sub Workbook_SheetTableUpdate(ByVal Sh As Object, ByVal Target As TableObject)

End Sub

Private Sub Workbook_Sync(ByVal SyncEventType As Office.MsoSyncEventType)

End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)

End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)

End Sub

Private Sub Workbook_WindowResize(ByVal Wn As Window)

End Sub

Значок эксперта (работа мозга, механизм)

Общение с экспертами

Обращайтесь к экспертам, обсуждайте новости, обновления и рекомендации для Excel, а также читайте наш блог.

Сообщество Excel Tech Community

Значок сообщества

Поддержка сообщества

Задавайте вопросы сотрудникам службы поддержки, MVP, инженерам и другим пользователям Excel и находите решения.

Форум Excel на сайте Answers

Значок предложения функции (лампочка, идея)

Предложение новых функций

Мы будем рады вашим отзывам и предложениям. Вам наверняка есть, что сказать. Поделитесь с нами своими мыслями.

Excel UserVoice

См. также

Исправления и временные решения недавних проблем в Excel для Mac

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×