Код VBA "позаду" на аркуші або в книзі може не працювати в програмі Excel


У версії програми 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, виконайте наведені нижче дії.
  1. У провіднику проектів у редакторі Visual Basic активуйте книгу, яка містить код.
  2. У меню Вставлення виберіть пункт модуль.
Після вставлення нового модуля Вирізайте код з вихідного розташування та вставте його в модуль Visual Basic. Потім збережіть книгу.

Додаткові відомості


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