VBA код "зад" работен лист или работна книга може да не работи в Excel

За версия на тази статия в Microsoft Excel 97 вижте 157346.За версия на тази статия в Microsoft Excel 98 вижте 182482.

Симптоми

В Microsoft Office Excel код на макрос за Microsoft Visual Basic for Application (VBA), който се съдържа "зад" работен лист или работна книга може да не работи правилно.

Причина

Това ще се случи, ако се сбъднат и двете от следните условия:

  • Въпросните кодове се съдържат в автоматично изпълнявана подпрограма, като например Auto_Open или Auto_Close подпрограма.

  • Кодът не се съдържа в модул на Visual Basic, а "зад" работен лист или самата работна книга.

Заобиколно решение

За да могат автоматично да се изпълняват подпрограми, за да работят правилно в Microsoft Excel, те трябва да се съдържат в модул на Visual Basic. Трябва да вмъкнете модул на Visual Basic в работната книга и след това да поставите кода в новия модул. За да вмъкнете модул на Visual Basic:

  1. В Project Explorer в редактора на Visual Basic Активирайте работната книга, която съдържа въпросния код.

  2. В менюто Вмъкване щракнете върху Модул.

След като Новият модул бъде вмъкнат, изрежете кода от първоначалното му местоположение и го поставете в модула на Visual Basic. След това запишете работната книга.

Повече информация

В Excel VBA кодът може да се съхранява в три различни местоположения: във модул на Visual Basic, в модул на Visual Basic и "зад" работни листове и работни книги. За да редактирате код "зад" работен лист или работна книга:

  1. Активиране на редактора на Visual Basic (натиснете ALT + F11).

  2. В прозореца на проекта изследовател ще видите записи, подобни на следните:

         VBAProject (Book1)         Microsoft Excel Objects            Sheet1 (Sheet1)            Sheet2 (Sheet2)            Sheet3 (Sheet3)            ThisWorkbook                  Modules             Module1 

Ако щракнете двукратно върху някое от имената на работните листове или обекта, можете да въведете код в прозореца на кода. Кодът, който не се съдържа в модула на Visual Basic, се смята за "зад" работния лист илиобекта . Ако Auto_Open, Auto_Closeили друга автоматично изпълняваща се подпрограма е съхранена "зад" работен лист или обекта, той може да не функционира правилно, когато отворите или затворите работната книга или когато изпълните действие, което би трябвало да накара подпрограмата да се изпълни.

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×