Помилка "Variable uses an Automation type not supported" (Змінна використовує тип автовизначення, який не підтримується) у редакторі Visual Basic в Excel для Mac

Останнє оновлення: 10 листопада 2017 р.

ПРОБЛЕМА

У жовтні 2017 року в Excel для Mac введено новий редактор Visual Basic. Якщо спробувати створити в ньому оголошення об’єктів, вибравши потрібне значення з розкривного меню у верхній частині вікна коду, виникає помилка.

Якщо клацнути розкривне меню ліворуч і вибрати зі списку подію, у розкривному списку праворуч має з’явитися її код. З цього списку можна вибрати й інші події, щоб створити код їх обробки.

Редактор VBE з вибраним об’єктом із розкривного списку_C3_2017109141018

Натомість з’являється повідомлення про помилку створення коду.

Помилка в Microsoft Visual Basic: Variable uses and automation type not supported in Visual Basic (Змінна використовує тип автовизначення, який не підтримується у Visual Basic)._C3_2017109141134

СТАН: СПОСІБ ВИРІШЕННЯ

Скористайтесь одним із наведених нижче способів вирішення цієї проблеми.

СПОСІБ ВИРІШЕННЯ №1

Виконайте потрібні дії в Excel для Windows, а потім скопіюйте код в Excel для Mac.

СПОСІБ ВИРІШЕННЯ №2

Перейдіть на сайт MSDN, знайдіть синтаксис потрібної події, а потім вручну введіть код у проект VBA. Відомості про події в книзі Microsoft Excel див. в цій статті.

СПОСІБ ВИРІШЕННЯ №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

Піктограма спільноти

Отримання довідки в спільноті

Поставте запитання в спільноті, а агенти підтримки, фахівці, інженери та інші користувачі Excel спробують вам допомогти.

Форум, присвячений Excel

Піктограма пропозиції щодо функцій (лампочка, що позначає ідею)

Запропонуйте нову функцію

Ми раді отримувати ваші пропозиції та відгуки. Поділіться своїми думками. Ми дослухаємося до вас.

Excel UserVoice

Див. також

Виправлення та способи вирішення нещодавно виявлених проблем в Excel для Mac

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×