Ноу Інти, лекція, робота з книгами і листами

14.10. Властивості колекції Worksheets

14.10.1. Count, Item, Visible - робота з об'єктами

Ми вже не раз стикалися з цими властивостями для інших об'єктів. Count дозволяє дізнатися кількість об'єктів в колекції, Item - звернутися до об'єкта по імені або індексу, Visible - відображати і приховувати об'єкт.

14.11. об'єкт Worksheet

Worksheet - робочий лист - його методи, властивості і події знаходяться в безпосередній близькості від осередків, з якими, в основному, ведеться робота при програмуванні для MS Excel.

14.12. Методи об'єкта Worksheet

Практично всі часто використовувані методи Workheet вам вже знайомі - або за описами попередніх об'єктів і колекцій Excel. або - по Microsoft Word.

14.12.2. Paste, PasteSpecial, про роботу з Selection

PasteSpecial здійснює спеціальну вставку. Наприклад, за допомогою цього методу можна скопіювати вміст комірок, що містять формули і вставити його в інші осередки, перетворивши таким чином, щоб вставлені були лише обчислені значення формул.

Перед запуском макросу виділіть область, заповнену даними.

Лістинг 14.11. Робота з буфером обміну

14.12.3. Protect і Unprotect - захист і зняття захисту

Метод Protect захищає лист від змін. Його можна викликати без параметрів, однак, при необхідності ви можете дуже тонко налаштувати захист аркуша. Наприклад, поставити пароль, дозволити користувачеві деякі операції і т.д.

Метод Unprotect знімається захист аркуша.

Установка захисту, особливо - захисту з паролем - може бути корисною, якщо ви хочете, щоб користувач гарантовано не міг внести зміни в будь-якої з листів вашої книги.

14.13. Властивості об'єкта Worksheet

14.13.1. Cells - осередки листа

Це властивість повертає об'єкт типу Range. який представляє собою все осередки листа. За допомогою Cells можна звертатися до кожної конкретної осередку окремо. Наприклад, щоб записати число 8 в клітинку, що знаходиться на перетині першого рядка і п'ятого стовпчика поточного листа. треба виконати таку команду (лістинг 14.12.)

Лістинг 14.12. Вставка даних в осередок, використовуючи стиль R1C1

Вище ми користувалися властивістю Cell для того, щоб працювати з даними на аркуші. Крім запису даних в осередку, дані можна зчитувати, осередки можна форматувати і т.д. Про це - нижче.

14.13.2. EnableCalculation - управління автоматичним перерахунком осередків

Дозволяє вмикати та вимикати автоматичний перерахунок осередків. У проектах великого розміру перерахунок осередків може займати багато системних ресурсів.

Це властивість можна встановити в False якщо ви, наприклад, здійснюєте висновок великого обсягу даних на лист і хочете прискорити цей процес.

14.13.3. Next і Previous - переміщення по листам книги

Ці властивості дозволяють отримувати посилання на наступний, і, відповідно, попередній лист книги.

14.13.4. QueryTables - таблиці запитів

Повертає колекцію QueryTables. що містить об'єкти QueryTable - таблиці запитів, які використовуються для вставки в документ інформації з баз даних.

14.13.5. Range - робота з осередками і діапазонами комірок

Це властивість повертає об'єкт Range. відповідній клітинці або діапазону комірок. зазначених при його виклику. Власне кажучи, Range поряд з Cells - це основні інструменти для роботи з осередками листа. Наприклад, так (лістинг 14.13.) Можна вставити число 4 в осередок E1:

Лістинг 14.13. Додаємо дані в осередок

А така конструкція (лістинг 14.14.) Дозволяє додати по 1 до значення кожної з осередків діапазону A1: K100

Лістинг 14.14. Робота з діапазоном осередків

При використанні конструкції For-Each обхід осередків здійснюється по рядках.

Нижче ми розглянемо об'єкт Range докладніше.

14.13.6. UsedRange - заповнені осередки

Це властивість повертає об'єкт Range. що містить всі заповнені осередки на аркуші. Це може бути корисним, наприклад, якщо ви хочете скопіювати ці осередки на інший аркуш і в інших подібних ситуаціях.

14.13.7. Visible - приховування та відображення листів

Дозволяє приховувати і відображати листи. За замовчуванням листи відображаються - їх властивість Visible встановлено в True. встановивши його в False. ви приховуєте лист.

14.14. Події об'єкта Worksheet

Використовуємо подія Change для перевірки даних, що вводяться користувачем в різні осередки робочого аркуша. Наприклад, давайте напишемо програму, яка пропонує користувачеві створити пароль і тут же повідомляє про те, наскільки його пароль надійний. Як критерій надійності будемо використовувати довжину пароля:

  • Пароль високої надійності: довжина не менше 8 символів
  • Пароль середньої надійності: довжина 5-7 символів
  • Пароль низької надійності: до 5 символів.

Коли користувач ввів пароль в клітинку, в сусідній комірці повинен з'являтися прогноз надійності пароля. Нехай користувач буде вводити пароль в клітинку A2, в осередку B2 буде відображатися прогноз.

Для вирішення цього завдання створимо обробник події Change для листа. на якому будуть розташовані вищевказані поля. Додамо в обробник такий код (лістинг 14.15.)

Лістинг 14.15. Перевірка даних при введенні в клітинку

14.15. висновки

У цій лекції ми познайомилися з книгами і листами MS Excel. У наступній лекції ми займемося роботою з осередками листа.

Схожі статті