У версії програми Microsoft Excel 97 у цій статті наведено розділ 157346.У версії програми Microsoft Excel 98 у цій статті наведено розділ 182482.
Ознаки
У програмі Microsoft Office Excel код макросів Microsoft Visual Basic для застосунків (VBA), який міститься в таблиці або книзі, може працювати неналежним чином.
Причина
Це станеться, якщо виконуються обидві такі умови:
-
Код в питанні міститься в надбудові автоматичної підпрограми, як-от Auto_Open або Auto_Close підпрограма.
-
Код не міститься в модулі Visual Basic, але "позаду" аркуша або самої книги.
Інші способи вирішення
Щоб автоматично запускати підпрограми для правильної роботи в програмі Microsoft Excel, вони мають міститися в модулі Visual Basic. Потрібно вставити модуль Visual Basic у книгу, а потім розташувати код в новому модулі. Щоб вставити модуль Visual Basic, виконайте наведені нижче дії.
-
У провіднику проектів у редакторі Visual Basic активуйте книгу, яка містить код.
-
У меню Вставлення виберіть пункт модуль.
Після вставлення нового модуля Вирізайте код з вихідного розташування та вставте його в модуль Visual Basic. Потім збережіть книгу.
Додаткові відомості
У програмі Excel код VBA можна зберегти в трьох різних розташуваннях: у модулі Visual Basic у модулі Visual Basic Class і "позаду" аркушів і робочих книгах. Щоб змінити код "позаду" аркуша або книги, виконайте наведені нижче дії.
-
Активуйте редактор Visual Basic (натисніть клавіші ALT + F11).
-
У вікні провідника проектів відображатимуться такі елементи:
VBAProject (Book1) Microsoft Excel Objects Sheet1 (Sheet1) Sheet2 (Sheet2) Sheet3 (Sheet3) ThisWorkbook Modules Module1
Якщо двічі клацнути один із імен аркушів або книги Thisworkbook, можна ввести код у вікні код. Такий код, який не міститься в модулі Visual Basic, вважається "за" за допомогою аркуша абокниги Thisworkbook . Якщо під час відкриття або закриття робочої книги, якщо ви відкриваєте або закриваєте книгу, у програмі, що використовується, автоматично запускатиметься Auto_Open, Auto_Closeабо інша програма, вонаможе не функціонувати належним чином, якщо відкрити або закрити її, або коли ви виконуєте дію, що має викликати підпрограму.