Тема. Макроси. Створення макросів в офісних програмах




Скачати 10,71 Kb.
Дата конвертації24.11.2018
Розмір10,71 Kb.
  • Тема . Макроси. Створення макросів в офісних програмах.
  • 24/11/18
  • http://rznz.klasna.com/uk/site/ikt-11-klas.html
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Запис макросу, перейменовувати лист
  • 1.Натисніть кнопку Записати макрос на вкладці Розробник.
  • 2.Назвіть макрос Маскос2, перейменуйте Лист1 в Нове ім'я і натисніть кнопку Остановіть запис.
  • 3. На вкладці Розробник натисніть кнопку Макрос і виберіть Изменить, щоб відкрити редактор Visual Basic.
  • Код в редакторі Visual Basic повинен бути схожий на наступний код.
  • Практичний приклад №2
  • Чотири рядки коментарів в записаному макросі не вирішують жодних завдань, тож видаліть їх.
  • Наступний рядок використовує метод Select, щоб вибрати член Sheet1 (Лист1) об'єкта колекції Sheets.
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Завдання №3 Цикли
  • До цього моменту цей код дозволяє змінити ім'я лише одного листа. Можна додати по рядку для кожного перейменовувати листа, але що робити, якщо невідомо ні число листів, ні їх поточні імена?
  • У VBA є конструкція, звана циклом For Each і ідеально підходить для цього випадку. Цикл For Each перевіряє всі елементи в об'єкті колекції, такому як Worksheets, і може використовуватися для виконання дії (наприклад, зміни імені) над деякими або над всіма цими елементами.
  • Змінити макрос так, щоб він став схожий на наступний код.
  • Sub RenameWorksheets()
  • For Each myWorksheet In Worksheets
  • myWorksheet.Name = "New Name"
  • Next
  • End Sub
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • myWorksheet.Name = "New Name"
  • Увага!!! Помилка. Чому?
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Увага!!! Робимо зміни!
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Корисне перейменування
  • Макрос поступово наближається до того, що може дійсно вирішити проблему.
  • Тепер потрібно знайти спосіб витягувати дані з самих листів - конкретно з комірки B1 кожного аркуша - і поміщати ці дані в імена аркушів.
  • Увага!!!
  • Виконання цього коду для книги, яка містить листи з порожньою коміркою B1, призведе до помилки, так як значення властивості Value порожнього діапазону Range одно "" (порожній текстовий рядок), яке не є допустимим ім'ям аркуша.
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Як зазначалося раніше, макрос призводить до помилки, якщо будь-яка з комірок B1 книги виявляється порожньою.
  • Замість ручної перевірки кожного аркуша можна запрограмувати макрос так, щоб ці дії виконувалися в ньому.
  • Перед рядком myWorksheet.Name додайте наступний рядок коду.
  • If myWorksheet.Range("B1").Value <> "" Then
  • А після рядка myWorksheet.Name додайте наступний текст.
  • End If
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Такий код називається інструкцією If ... Then. Інструкція If ... Then вказує Excel виконувати весь код між рядком If і рядком End If, але тільки при виконанні умови, наведеного в рядку If. Перевіряється умова, яка задана наступним рядком.
  • myWorksheet.Range("B1").Value <> ""
  • Знаки <> означають "не дорівнює", а знаки лапок, між якими нічого немає, позначають порожню текстовий рядок, тобто повна відсутність тексту
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Оголошення змінних
  • Sub RenameWorksheets()
  • Dim myWorksheet As Worksheet
  • For Each myWorksheet In Worksheets
  • 'make sure that cell B1 is not empty
  • If myWorksheet.Range("B1").Value <> "" Then
  • 'rename the worksheet to the contents of cell B1
  • myWorksheet.Name = myWorksheet.Range("B1").Value
  • End If
  • Next
  • End Sub
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Щоб перевірити макрос, перейменуйте листи назад у Лист1, Лист2 і Ліст3 і видаліть вміст комірки B1 на одному або кількох аркушах. Виконайте макрос, щоб перевірити, що він перейменовує листи з текстом в комірці B1 і залишає недоторканими інші листи. Макрос працює для будь-якого числа листів, з будь-якою комбінацією заповнених і порожніх клітинок B1.
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ


База даних захищена авторським правом ©uchika.in.ua 2016
звернутися до адміністрації

    Головна сторінка