трюк №91

Іноді буває необхідно, щоб осередок могла повернути ім'я робочої книги або навіть ім'я файлу і шлях для цієї робочої книги. За допомогою цього трюку ви легко отримаєте ім'я та шлях робочої книги.

Три призначені для користувача функції, з якими ми познайомимося в цій статті, поміщають в клітинку ім'я робочої книги або ім'я файлу і шлях для цієї робочої книги. Два перших прикладу, MyName і MyFullName, не вимагають ніяких аргументів.

Останній, SheetName, використовується, щоб при отриманні імені листа не вкладати ПСТР (MID) і інші функції в функцію ОСЕРЕДОК (CELL), так як це зазвичай вимагає використання наступної громіздкою формули: = MID (CELL ( "filename"; $ A $ 1) ; FIND ( "]"; CELL ( "filename"; $ A $ 1)) + 1; 255). в російській версії Excel = ПСТР (ОСЕРЕДОК ( "имяфайла"; $ А $ 1); ШУКАТИ ( "]"; ОСЕРЕДОК ( "имяфайла"; $ А $ 1)) + 1; 255). Як видно, для отримання найпростішого результату доводиться досить багато попрацювати, тому ми самостійно розробили для користувача функцію SheetName.

Щоб застосувати ці призначені для користувача функції, натисніть клавіші Alt / Option + Fll, виберіть команду Insert> Module і вставте код, наведений у лістингу 7.19.

// Лістинг 7.19 Function MyName () As String MyName - ThisWorkbook.Name End Function Function MyFullName () As String MyFullName = ThisWorkbook.FullName End Function Function SheetName (rAnyCell) Application.Volatile SheetName = rAnyCell.Parent.Name End Function

Збережіть функцію і закрийте вікно. Тепер ця функція з'явиться в області Певні користувачем (User Defined) діалогового вікна Майстер функцій (Paste Function) (поєднання клавіш Shift + F3).

Схожі статті