Трик #4

Приказливостта на Excel в крайна сметка може да стане скучна - той постоянно ви моли да потвърдите, че наистина имате нужда от действието, което току-що поискахте да извършите. Нека спрем да говорим и да накараме Excel да работи. Говорим за съобщения като питане дали искате да активирате макроси (когато нямате такива) или дали сте сигурни, че искате да изтриете лист. Следното е как да се отървете от най-често появяващите се съобщения веднъж завинаги.

Активирайте макроси, когато ги нямате

Excel има отлична памет, когато става въпрос за запомняне на факта, че сте записали макрос в работна книга. За съжаление, той не забравя за това, дори ако вече сте изтрили всички макроси с командата Инструменти → Макро → Макроси (Инструменти → Макро → Макроси) или клавишната комбинация Alt / Option + F8. Отворете отново работната си книга и ще видите подканата да активирате макросите отново, дори ако няма останали.

Отворете VBE с командата Tools → Macro → Visual Basic Editor (Tools → Macro → Visual Basic Editor) или като натиснете Alt / Option + Fll и изберете командата View → Project Explorer. (На Macintosh прозорецът Projects е винаги отворен, така че не е необходимо да отваряте Project Explorer.).

Намерете своята работна книга в Project Explorer и щракнете върху знака плюс (+) вляво от нея, за да разгънете компонентите на книгата, по-специално модулите. Щракнете върху знака плюс вляво от папката Модули, за да видите всички съществуващи модули. Щракнете с десния бутон върху всички модули последователно и изберете командата Премахване на модул от контекстното меню. Спрете експортирането на модули. Не премахвайте модулите без да се замислите. Преди да изтриете един по един, щракнете два пъти върху всички модули, за да се уверите, че наистина не са необходими. Както обикновено,За да се върнете обратно към Excel, натиснете клавишната комбинация Att/Apple+Q.

Подкана за запазване на несъществуващи промени

Може да сте забелязали, че понякога, когато просто отворите работна книга и я прегледате, Excel ви подканва да запишете промените в личната си работна книга с макроси, въпреки че не сте направили никакви промени. Независимо дали го знаете или не, вашата лична книга с макроси вероятно има функция за преизчисляване.

Личната работна книга с макроси е скрита работна книга, създадена, когато за първи път сте записали макрос и отваряна всеки път с Excel. Променлива функция (или формула) е функция, която автоматично се преизчислява, когато правите малко или нищо в Excel, като например просто отваряне или затваряне на работна книга или цялото приложение. Двете най-често срещани изброими функции саTodayQ иNow().

Така че, въпреки че не сте променили ръчно нищо в работната книга, тези функции за преизчисляване, работещи във фонов режим, все пак може да направят някои промени. Това се счита за приемливо и подканва Excel да запази такива невидими промени. Ако искате Excel да спре да ви моли да запазите промени, които не сте направили, има два начина да го направите. Най-очевидното е да не съхранявате преизчислените функции в лична книга с макроси и да изтриете тези, които вече са записани там. Или, ако все още имате нужда от тях, можете да използвате следния прост кодов фрагмент от листинг 1.7, за да заобиколите проверката, като накарате Excel да мисли, че личната ви работна книга с макроси е била запазена, когато сте я отворили.

// Списък 1.7 Private Sub workbook_0pen() Me.Saved = True End Sub

Разбира се, ако имате функционална променлива, коятотрябва да се преизчисли и искате да запазите промените, трябва изрично да кажете на Excel, като използвате кода в списък 1-8.

// Листинг 1.8 Private Sub workbook_0pen() Me.Save End Sub

Този макрос автоматично ще записва вашата лична книга с макроси всеки път, когато я отворите.

Предотвратяване на предупреждения и подкани на Excel за записани макроси

Един от многото недостатъци на записаните макроси е, че макар да имитират почти всяка команда доста добре, те са склонни да забравят вашите отговори на подканите. Изтрийте работния лист и ще видите заявка за потвърждение на командата; стартирайте макрос, който прави същото и ще видите подкана. Нека изключим тези подкани.

Изберете Инструменти → Макрос → Макроси (Alt/Option+F8), за да изброите вашите макроси. Уверете се, че всички отворени работни книги са избрани в списъка Макроси в. Изберете желания макрос и щракнете върху бутона Редактиране. Поставете курсора преди първия ред от кода, т.е. преди първия ред, който не започва с апостроф, и въведете следния ред: