Как да създадете автоматично съдържание в Excel. Формула за номериране на листа и страници в Excel

Ако броят на листовете във вашата работна книга на Excel е надхвърлил втората десетка, навигирането през листовете започва да се превръща в проблем. Един от красивите начини за решаване на това е да създадете съдържание с хипервръзки, водещи към съответните листове на книгата:

Има няколко начина за прилагане на това.

Видео

Поставете в документа

ХИПЕРВРЪЗКА Shiftи/или Ctrl

Съдържание.

Отворете Мениджър на именана раздела Съдържание. В полето Обхват (справка)въведете тази формула:

ВЗЕМЕТЕ.РАБОТА.КНИГА(1)
=GET.WORKBOOK(1)

Сега в променливата Съдържание ИНДЕКС

функция РЕД

ЗАМЕНЕТЕ (SUBST)И НАМИРАМ Мениджър на именаот табл Съдържаниеи променете формулата му:


Съдържание Ctrl+Alt+F9

REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1));"") &T(TДАТА())

функция ТДАТА (СЕГА) T TDATE

За скриване на грешки #РЕФЕРЕНЦИЯ (#РЕФ) ИНДЕКСIFERROR

ХИПЕРВРЪЗКА

Метод 3. Макро

Метод 2

Alt+F11 Вложка - Модул

Sub SheetList() Dim sheet As Worksheet Dim клетка като диапазон с ActiveWorkbook За всеки лист в ActiveWorkbook.Worksheets Set cell = Worksheets(1).Cells(sheet.Index, 1) .Worksheets(1).Hyperlinks.Add anchor:=cell , Адрес:="", Подадрес:=""" & sheet.Name & """ & "!A1" cell.Formula = sheet.Name Next End With End Sub

Затворете редактора на Visual Basic и се върнете към Excel. Добавете празен лист към книгата и го поставете първи. След това щракнете Alt+F8или отворете менюто SheetList

Метод 1.

Свързани връзки

  • Какво е макрос, как да го създадете, къде да копирате текста на макроса, как да стартирате макроса?
  • Автоматично създаване на съдържание на книга с един бутон (PLEX добавка)
  • Изпращане на имейли чрез функцията HYPERLINK
  • Бързо превключвайте между листове в работна книга на Excel

Метод 1: Ръчно създадени хипервръзки

Вмъкнете празен лист в работната книга и добавете хипервръзки към листовете, от които се нуждаете, като използвате командата Вмъкване - Хипервръзка. В прозореца, който се отваря, изберете опцията отляво Поставете в документаи задайте външния текстов дисплей и адреса на клетката, където ще води връзката:

За удобство можете също така да създадете обратни връзки на всички листове на книгата си, които ще водят обратно към съдържанието. За да не се налага ръчно да създавате хипервръзки и след това да ги копирате на всеки лист, по-добре е да използвате друг метод - функцията ХИПЕРВРЪЗКА. Избираме всички листове в книгата, където искаме да добавим обратна връзка (можете да използвате клавишите за масово избиране на листове Shiftи/или Ctrl) и във всяка подходяща клетка въвеждаме функция от следния вид:

Тази функция ще създаде хипервръзка в текущата клетка на всички избрани листове с текст „Назад към съдържанието“, щракването върху което ще върне потребителя към листа Съдържание.

Метод 2: Динамично съдържание с помощта на формули

Това, макар и малко екзотично, е много красив и удобен начин да създадете автоматично съдържание на вашата книга. Екзотичен - защото използва недокументирана XLM функция ВЗЕМЕТЕ.РАБОТА, оставен от разработчиците за съвместимост с по-стари версии на Excel. Тази функция изхвърля списък с всички листове в текущата работна книга в дадена променлива, от която след това можем да ги извлечем и използваме в нашето съдържание.

Отворете Мениджър на именана раздела Формули (Формули – Мениджър на имена)и създайте нов именуван диапазон, наречен, да речем Съдържание. В полето Обхват (справка)въведете тази формула:

ВЗЕМЕТЕ.РАБОТА.КНИГА(1)
=GET.WORKBOOK(1)

Сега в променливата Съдържаниесъдържа търсените от нас имена. За да ги извлечете от там в листа, можете да използвате функцията ИНДЕКС, който "изважда" елементи от масива по техния брой:

функция РЕДдава текущия номер на ред и в този случай е необходим само за избягване на ръчно създаване на отделна колона със серийните номера на елементите, които се извличат (1,2,3...). Така в клетка A1 ще имаме името на първия лист, в A2 - името на втория и т.н.

Не е зле. Въпреки това, както можете да видите, функцията връща не само името на листа, но и името на работната книга, което не ни е необходимо. За да го премахнем, използваме функциите ЗАМЕНЕТЕ (SUBST)И НАМИРАМ, който ще намери знака за затваряща квадратна скоба (]) и ще замени целия текст до и включително този знак с празния низ (""). Нека го отворим отново Мениджър на именаот табл Формули (Формули - Мениджър на имена), щракнете два пъти, за да отворите създадения диапазон Съдържаниеи променете формулата му:

REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1));"")
=SUBST(GET.WORKBOOK(1);1;FIND("]";GET.WORKBOOK(1));"")

Сега нашият списък с листове ще изглежда много по-добре:

Малко странично усложнение е, че нашата формула е в наименуван диапазон Съдържаниеще се преизчисли само при въвеждане или когато книгата бъде принудена да преизчисли чрез натискане на клавишна комбинация Ctrl+Alt+F9. За да избегнем този неприятен момент, нека добавим малка „опашка“ към нашата формула:

REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1));"") &T(TДАТА())=SUBST(GET.WORKBOOK(1);1;FIND("]";GET.WORKBOOK(1));"")&T(NOW())

функция ТДАТА (СЕГА)дава текущата дата (с часа) и функцията Tпревръща тази дата в празен текстов низ, който след това се свързва с името на нашия лист с помощта на оператора за свързване (&). Тези. името на листа всъщност не се променя, но тъй като функцията TDATEсе преизчислява и създава нов час и дата за всяка промяна в листа, тогава останалата част от нашата формула също ще бъде принудена да се преизчисли и - в резултат на това - имената на листовете ще се актуализират постоянно.

За скриване на грешки #РЕФЕРЕНЦИЯ (#РЕФ), което ще се появи, ако копираме нашата формула с функцията ИНДЕКСза повече клетки, отколкото имаме листове, можем да използваме функцията IFERROR, който улавя всички грешки и ги замества с празния низ (""):

И накрая, за да добавите „живи“ хипервръзки към имената на листове за бърза навигация, можете да използвате същата функция ХИПЕРВРЪЗКА, който ще формира адреса за преход от името на листа:

Метод 3. Макро

И накрая, можете да използвате прост макрос, за да създадете съдържание. Вярно е, че ще трябва да го стартирате всеки път, когато структурата на книгата се промени - за разлика от Метод 2, самият макрос не ги следи.

Отворете редактора на Visual Basic, като щракнете Alt+F11или като изберете (в по-старите версии на Excel) от менюто Инструменти - Макро - Редактор на Visual Basic(Инструменти - Макрос - Редактор на Visual Basic). В прозореца на редактора, който се отваря, създайте нов празен модул (меню Вложка - Модул ) и копирайте текста на този макрос там:

Sub SheetList()
Затъмнен лист като работен лист
Затъмнена клетка като обхват
С ActiveWorkbook
За всеки лист в ActiveWorkbook.Worksheets
Set cell = Worksheets(1).Cells(sheet.Index, 1)
.Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", SubAddress:="'" & sheet.Name & "'" & "!A1"
клетка.Формула = лист.Име
Следващия
Край с
End Sub Затворете редактора на Visual Basic и се върнете към Excel. Добавете празен лист към книгата и го поставете първи. След това щракнете Alt+F8или отворете менюто Инструменти - Макро - Макроси. Намерете създадения от вас макрос там SheetListи го стартирайте. Макросът ще създаде списък с хипервръзки с имена на листове на първия лист на работната книга. Щракването върху който и да е от тях ще ви отведе до желания лист.

За удобство можете също така да създадете препратки към всички листове на вашата книга, които ще водят обратно към съдържанието, както е описано в Метод 1.

Моят начин. Моята версия

T
Име на листа - =IFERROR(REPLACE(INDEX(Таблица на съдържанието,ROW()-3),1,FIND("]",INDEX(Таблица на съдържанието,ROW()-3));"");"")

Дата - =IFERROR(IF(INDIRECT("'"&B4&"'"&"!A1″)=0;"";INDIRECT("'"&B4&"'"&"!A1″));"")

Име - =INDIRECT(“‘”&B4&”‘”&”!A3″)

PO - =INDIRECT(“‘”&B4&”‘”&”!E5″)

данък върху заплатата - =INDIRECT(“‘”&B4&”‘”&”!E6″)

амортизация - =INDIRECT(“‘”&B4&”‘”&”!E7″)

материали - =INDIRECT(“‘”&B4&”‘”&”!E8″)
vsp материали - =INDIRECT(“‘”&B4&”‘”&”!E9″)

INDIRECT("'"&B4&"'"&"!E10″)

INDIRECT("'"&B4&"'"&"!E11″)=INDIRECT("'"&B4&"'"&"!E12″)=INDIRECT("'"&B4&"'"&"!E13″)=INDIRECT( "'"&B4&"'"&"!E18″)=INDIRECT("'"&B4&"'"&"!E19″)

Когато броят на листовете във вашата книга нарасне и навигацията в нея стане проблематична, предлагам да създадете лист със съдържание за книгата с връзки към необходимите листове.

поставете празен лист в книгата

в прозореца „Вмъкване на хипервръзка“ изберете към какво да свържете хипервръзката: „Връзка към място в документа“. Адрес на клетка - към коя клетка от листа ще се премести курсора. и изберете листа за място Сингапур. В полето „Текст“ посочете името на листа. След като изберете параметрите, щракнете върху OK.

Текстът в клетката е променил външния си вид. Това означава, че за него е създадена хипервръзка. Нека да настроим хипервръзки към други листове в книгата по същия начин. Моля, имайте предвид, че хипервръзката, използвана за навигация, променя цвета си.

За удобство можете също така да създадете обратни връзки на всички листове на книгата си, които ще водят обратно към съдържанието. За да не се налага ръчно да създавате хипервръзки и след това да ги копирате на всеки лист, по-добре е да използвате друг метод - функцията HYPERLINK.

Избираме всички листове в книгата, където искаме да добавим обратна връзка (за масово избиране на листове, трябва да задържите клавиша Ctrl и да изберете желаните листове с мишката) и въведете следната функция във всяка подходяща клетка:

Тази функция ще създаде хипервръзка в текущата клетка на всички избрани листове с текст „Назад към съдържанието“, щракването върху който ще върне потребителя към листа със съдържание.

Как да създадете бутон в меню:

За да направим менюто по-приятно визуално, нека добавим бутони

Първо, нека създадем формата на бъдещия бутон: Вмъкване → Форми → Изберете произволна форма:

Нека отпечатаме текста във формата. Ето как нарисувахме бутона.

Изберете формата → отидете на раздела Вмъкване → Хипервръзка. След това му задайте параметри, както в първия параграф, и щракнете върху OK. По същия начин можете да създадете други бутони за хипервръзки на различни листове от книгата. И добавете малко креативност, като използвате менюто ФОРМАТ

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

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

Как да създадете таблица в Excel за манекени

Работата с таблици в Excel за манекени не е прибързана. Можете да създадете таблица по различни начини и за конкретни цели всеки метод има своите предимства. Затова първо нека визуално оценим ситуацията.

Разгледайте внимателно работния лист на електронната таблица:

Това е набор от клетки в колони и редове. По същество маса. Колоните са обозначени с латински букви. Линиите са числа. Ако отпечатаме този лист, ще получим празна страница. Без никакви граници.

Първо нека се научим как да работим с клетки, редове и колони.



Как да изберете колона и ред

За да изберете цялата колона, щракнете върху нейното име (латиница) с левия бутон на мишката.

За да изберете линия, използвайте името на линията (по номер).

За да изберете няколко колони или реда, щракнете с левия бутон върху името, задръжте и плъзнете.

За да изберете колона с помощта на клавишни комбинации, поставете курсора в произволна клетка на желаната колона - натиснете Ctrl + интервал. За да изберете ред – Shift + интервал.

Как да промените границите на клетката

Ако информацията не се побира при попълване на таблицата, трябва да промените границите на клетките:

За да промените ширината на колоните и височината на редовете наведнъж в определен диапазон, изберете област, увеличете 1 колона/ред (преместете ръчно) - размерът на всички избрани колони и редове автоматично ще се промени.


Забележка. За да се върнете към предишния размер, можете да щракнете върху бутона „Отказ“ или комбинацията от клавишни комбинации CTRL+Z. Но работи, когато го направите веднага. По-късно няма да помогне.

За да върнете линиите към първоначалните им граници, отворете менюто с инструменти: „Начало“ - „Форматиране“ и изберете „Автоматично побиране на височината на линията“

Този метод не е подходящ за колони. Щракнете върху „Форматиране“ - „Ширина по подразбиране“. Нека запомним това число. Изберете всяка клетка в колоната, чиито граници трябва да бъдат „върнати“. Отново „Формат“ - „Ширина на колона“ - въведете индикатора, посочен от програмата (обикновено 8.43 - броят знаци в шрифта Calibri с размер 11 точки). ДОБРЕ.

Как да вмъкнете колона или ред

Изберете колоната/реда вдясно/под мястото, където искате да вмъкнете новия диапазон. Тоест колоната ще се появи отляво на избраната клетка. И линията е по-висока.

Щракнете с десния бутон и изберете „Вмъкване“ от падащото меню (или натиснете комбинацията от клавишни комбинации CTRL+SHIFT+"=").

Маркирайте „колоната“ и щракнете върху OK.

съвет. За да вмъкнете бързо колона, изберете колоната на желаното място и натиснете CTRL+SHIFT+"=".

Всички тези умения ще ви бъдат полезни, когато създавате таблица в Excel. Ще трябва да разширим границите, да добавим редове/колони, докато работим.

Поетапно създаване на таблица с формули

Границите на колоните и редовете вече ще се виждат при печат.

С помощта на менюто "Шрифт" можете да форматирате данни от таблици на Excel, както бихте направили в Word.

Променете, например, размера на шрифта, направете заглавката „удебелена“. Можете да центрирате текста, да зададете тирета и т.н.

Как да създадете таблица в Excel: инструкции стъпка по стъпка

Най-простият начин за създаване на таблици вече е известен. Но Excel има по-удобна опция (по отношение на последващо форматиране и работа с данни).

Нека направим "умна" (динамична) таблица:

Забележка. Можете да поемете по различен път - първо изберете диапазон от клетки и след това щракнете върху бутона „Таблица“.

Сега въведете необходимите данни в готовата рамка. Ако имате нужда от допълнителна колона, поставете курсора в клетката, предназначена за името. Въведете името и натиснете ENTER. Обхватът автоматично ще се разшири.


Ако трябва да увеличите броя на редовете, закачете го в долния десен ъгъл към маркера за автоматично попълване и го плъзнете надолу.

Как се работи с таблица в Excel

С пускането на нови версии на програмата работата с таблици в Excel стана по-интересна и динамична. Когато се формира интелигентна таблица на лист, инструментът „Работа с таблици“ - „Дизайн“ става достъпен.

Тук можем да дадем име на таблицата и да променим нейния размер.

Налични са различни стилове, възможност за конвертиране на таблицата в нормален диапазон или обобщен отчет.

Характеристики на динамичните електронни таблици MS Excelогромен. Нека започнем с основни умения за въвеждане на данни и автоматично попълване:

Ако щракнем върху стрелката вдясно от всяко подзаглавие на заглавката, ще получим достъп до допълнителни инструменти за работа с таблични данни.

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

Как да направите съдържание в Excel, ако няма специална функция? Можете да използвате функцията Хипервръзка в Excel.

Например, имаме огромна маса с няколко листа. На първата страница ще направим съдържанието на тази книга. Втората и следващите страници са таблици на различни отдели (отдел продажби, отдел покупки и т.н.). Нещо подобно (в примера таблиците са малки).

Принципът на компилиране на съдържание е да се правят хипервръзки.

Но, има един трик. Ще правим хипервръзки не към клетки, а към име на клетка, име на отдел. Ако направим хипервръзка към клетка, тогава ако вмъкнем ред над тази клетка, хипервръзката няма да работи, тя ще се премести.

И така, на всяка страница присвояваме имена на клетките с имената на отделите - „Отдел продажби“, „Отдел покупки“. Ако таблиците са дълги, тогава можете да зададете имена на отдели - „1-ви отдел“, „2-ри отдел“. Когато задавате име, не забравяйте да посочите листа, на който се намира това име. Как да присвоите име на клетка, вижте статията „Присвояване на име на клетка, диапазон, формула в Excel“. Всички имена се виждат в мениджъра на имена.


Сега, ако вмъкнем ред в таблицата, адресът на клетката с името ще се промени, т.е. името е свързано с името на отдела.

На първата страница създаваме съдържание от имената на отдели и отдели.

Сега остава само да направите хипервръзки към тези думи. Как да направите това, вижте статията „Как да направите хипервръзка в Excel“. Заставаме върху клетката с името, което искаме да направим хипервръзка. От контекстното меню изберете функцията „Хипервръзка“. В диалоговия прозорец изберете желаното име от списъка. Натиснете "OK". Това е всичко, връзката е готова.

Това е всичко, съдържанието е готово. Сега можете бързо да отидете на желаната страница в желания подраздел.

Връзката към листа е същата като в клетка A2. Но в лентата с формули можете да коригирате името, например, както в клетка A3 - удивителният знак и адресът на клетката бяха премахнати. Ако листовете са етикетирани по различен начин, тези имена на листове ще бъдат в списъка. Вижте клетка A4.

Може да се направи на всеки лист от книгата хипервръзка обратно към съдържанието на книгатаExcel.

Първо, нека зададем име на съдържанието с помощта на функцията „Присвояване на име“. Например - „Съдържание“. Съдържанието е на първа страница. На втория лист правим хипервръзка към първия лист „Съдържание“.

Сега копирайте тази хипервръзка. Отидете на лист 3, натиснете клавиша „Ctrl“, задръжте го и щракнете с левия бутон върху етикетите на всички листове на книгата, в които трябва да зададете връзка към съдържанието. Така че избрахме всички листове наведнъж.

Сега вмъкнете хипервръзката в желаната клетка на листа. Това е всичко, връзката „Съдържание“ се появи на всички избрани листове. Остава само да разгрупирате листовете. За да направите това, щракнете с десния бутон върху който и да е избран пряк път и изберете функцията „Разгрупиране на листове“ от контекстното меню.

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

Когато създаваме съдържание на доклад, книга или статия, за нас е важно да знаем не само имената на главите и да поставим хипервръзки към тях, но и тяхното местоположение в документа, така че при четене да е по-удобно за за да се ориентираме в съдържанието на документа и по-лесно да намираме необходимата ни информация.
Можете да добавите номера на листове към съдържанието ръчно, но в този случай процесът на добавяне на номера може да отнеме доста време. Освен това, ако промените номера на страницата на една глава, номерата на всички следващи глави ще се променят, така че този метод не може да се нарече удобен и ефективен.

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

Формула за номер на лист в Excel

Започвайки с Excel 2013, стандарт Функция SHEET, който връща номера на листа от съществуващата връзка.
Въпреки това, в по-ранните версии на Excel, за съжаление, няма стандартни функции, така че за този случай ще използваме възможностите на VBA и ще напишем персонализирана функция, която ще върне серийния си номер въз основа на името на листа.

Функция SHEET (започвайки от Excel 2013)

Синтаксис и описание на функцията:

SHEET(стойност)
Връща номера на посочения лист.

  • Значение (незадължителен аргумент)— име на листа или връзка, за която трябва да разберете номера на листа.

Ако аргументът не е посочен, функцията по подразбиране връща номера на листа, където е посочена функцията.
Нека да разгледаме принципите на използване на функцията, използвайки примери:

Когато работите с функция, имайте предвид, че формулите =SHEET("Лист2")И =ЛИСТ(A1)(в този случай клетка A1, например, съдържа текста „Sheet2“) може да върне различни резултати, тъй като в първия случай аргументът е представен като текст (търсене на лист по име на текст), а във втория - като връзка (търсене на лист по препращащата клетка).

Номер на листа във VBA

За да създадете персонализирана функция, отидете в редактора (Alt + F11), след това създайте нов модул и добавете следния код към него:

Visual Basic

Функция SheetNumber(SheetName As String) Като цяло число "Функция SheetNumber (аргумент SheetName като текст), връщаща целочислени стойности SheetNumber = Worksheets(SheetName).Index "приравняване на индексния номер на листа към върнатата стойност Крайна функция

Сега можем да използваме тази функция по удобен за нас начин - или директно да въведете формулата в произволна клетка, или да използвате съветника за функции (можете да намерите функцията в категорията Дефиниран от потребителя):

Номер на страница във VBA

Можете да вмъкнете с горни и долни колонтитули, но ако искаме да добавим номер на страница към клетка на лист, тогава този метод не е подходящ. Нека използваме параметъра sheet PageSetup.Pages.Count, който определя броя на страниците на даден лист, които трябва да бъдат отпечатани.
Алгоритъмът за търсене на номер на страница е следният: за всички листове, разположени между два дадени листа, сумираме броя на страниците на тях.
Връщаме се към редактора на Visual Basic и добавяме нова функция към модула:

Visual Basic

Функция PageNumber(SheetName1 As String, SheetName2 As String) As Integer "Функция PageNumber (SheetName1 и SheetName2 аргументи като текст), връщаща цели числа Dim FirstPage As Integer, LastPage As Integer "инициализация на Application.Volatile True променливи "автоматично преизчисляване на PageNumber = 0 " върната стойност = 0 FirstPage = Worksheets(SheetName1).Index "получаване на началния номер на лист LastPage = Worksheets(SheetName2).Index "получаване на крайния номер на лист For i = FirstPage To LastPage - 1 "преминаване през листове PageNumber = PageNumber + Sheets(i) .PageSetup.Pages.Count "добавя броя на страниците на текущия лист към върнатата стойност на Next i End Function

Функция PageNumber (Име на лист1 като низ, име на лист2 като низ) като цяло число "функция PageNumber (аргументи SheetName1 и SheetName2 като текст), връщаща цели числа

Dim FirstPage като цяло число, LastPage като цяло число "инициализиране на променливи

Приложение. Непостоянен Вярно "автоматично преизчисляване

Номер на страница = 0 "връща стойност = 0

Първа страница = Работни листове (Име на лист1) . Индекс "получаване на номера на началния лист

Последна страница = Работни листове (Име на лист2) . Индекс "получаване на номера на крайния лист

Следваща i

Крайна функция

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


В същото време на листовете „Част 3“ и „Част 4“ (от предишния пример) допълнително добавихме данни, така че листът започна да включва няколко страници.

За съжаление, недостатъкът на тази опция за определяне на номера на страницата е скоростта на функцията.
Когато изпълнява операцията PageSetup.Pages.Count, Excel получава достъп до настройките за печат на принтера за всяка страница, което при големи книги води до дълго време за изчисляване на функцията.

Характеристики на изчисление

Тъй като функциите Номер на листИ Номер на страницатазависят само от текстови променливи, тогава когато броят на листовете или страниците в книгата се промени, те не се преизчисляват автоматично.
За да избегнем частично проблема с преизчисляването, добавихме командата към функционалния код (ред 3) Application.Volatile True, който преизчислява резултата от функцията при промяна на съдържанието на клетките (аналогично на пълното преизчисляване на формули чрез натискане на F9).
Ако функцията все още значително забавя работата, тогава можете да изключите този ред от кода, но в този случай не забравяйте да се уверите, че формулите са преизчислени в окончателната версия на документа.



 

Може да е полезно да прочетете: