Міністерство науки і освіти України
Національний університет “Львівська політехніка”
Кафедра “Системи Автоматизованого Проектування”
МАКРОСИ У СИСТЕМІ EXCEL
Методичні вказівки
до лабораторної роботи № 5
по курсу: “Комп’ютерні системи менеджменту в малому та середньому бізнесі”
Для фахової підготовки інженерів за спеціальністю
„Комп‘ютерні системи проектування” – 7.080402
Львів 2002
Мета роботи: ознайомлення із призначенням та видами макросів у табличному процесорі Excel . Набуття навиків у створенні простих макросів .
Теоретичні відомості
Поняття макроса . Призначення макроса .
Макрос - це послідовність макрокоманд та макрофункцій . Більшість вже визначених макрофункцій відповідають командам меню . Excel 7.0 надає користувачеві можливість створювати власні макроси і тим самим автоматизувати виконання часто повторюваних робочих операцій , що дає значний виграш у часі .
У Excel 7.0 включено діалект мови програмування Visual Basic for Applications (VBA) , яка створювалася фірмою Microsoft як мова макропрограмування для всіх прикладань групи Microsoft Office , то «рідна» для Excel 7.0 мова макросів MS Excel 4.0 Macro буде , без сумніву , застосовуватися все рідше . Однак слід знати , що є можливість програмувати і на MS Excel 4.0 Macro - це зручніше для рішення нескладних задач .
Створення макроса .
Для створення макросів у Excel 7.0 є два шляхи :
Запис макроса за допомогою макрорекордера .
Макрорекордер дозволяє автоматизувати виконання часто повторюваних послідовностей робочих кроків і при цьому не вимагає глибоких знань макропрограмування . Принцип функціонування макрорекордера багато в чому нагадує запис та відтворення звуку за допомогою звичайного магнітофона . Для запису необхідно виконати наступні кроки :
запустити макрорекордер;
присвоїти ім’я макросу;
виконати потрібні дії;
завершити запис (вимкнути макрорекордер);
Запуск макрорекордера можна здійснити активізувавши пункт меню «Сервис/Запись макроса .../Начать запись ...» , або ж натисненням кнопки на панелі інструментів Visual Basic (рис. 1) . Якщо такої немає серед панелей інструментів , зробіть наступне : встановивши курсор мишки на панель інструментів , натисніть праву кнопку ; з контекстного меню виберіть пункт Visual Basic .
Рис.1
Приклад .
Активізуйте чистий робочий лист .
Запустіть макрорекордер . У діалоговому вікні задайте ім’я макросу і при бажанні - коментар . Натисніть кнопку Параметры». У наступному вікні (рис.2) Ви маєте можливість вибрати мову програмування (виберіть MS Excel 4.0 Macro) , призначити майбутньому макросу «гарячі клавіші» , вказати місце зберігання макроса , і навіть виділити для нього окремий пункт у стандартному меню Excel (призначте і задайте пункту ім’я).
Після виходу з діалогу Ви побачите , що з’явилась кнопка зупинки запису Тепер виконайте наступну послідовність дій :
виділіть стрічки 7 та 8 (протягніть по заголовкам стрічок курсором мишки при натиснутій лівій кнопці) і стовпчик В (при натиснутій клавіші <Ctrl> ;
змініть шрифт та збільшіть кегль ;
змініть колір фону та шрифта (наприклад зелений та червоний) ;
задайте рамку для комірок ;
скопіюйте вміст комірок (значення) на наступний лист (2);
Натисніть на кнопку зупинки запису макроса .
Тепер завантажте файл Examp51.xls . Запустіть створений макрос (вибравши пункт меню у Сервис або натиснувши кнопку на панелі - рисунок 1) і перевірте правильність його виконання .
Рис.2
Тепер Ви можете переглянути текст створеного макроса (команда меню Сервис/Макрос.../Изменить) .
Запишіть ще один макрос , але на цей раз у вигляді модуля VBA . Перегляньте вміст листа модуля (до речі , не обов’язково це робити через меню - можна просто вибрати відповідний ярличок) . Як бачите , модуль VBA нагадує програму на мові Паскаль з об’єктами . Більшість операторів повинна бути Вам зрозуміла . Зміна , наприклад , характеристик шрифта зводиться до встановлення відповідних значень полям об’єкта Selection.Font . Для виділення стрічок викликається метод Select об’єкта Rows .
Відкрийте лист із макросом MS Excel 4.0 Macro . Макрос записаний послідовно від комірки А1 вниз . У першій комірці - ім’я макроса , у наступних - команди . Останньою є команда ВОЗВРАТ() . Команди прості і зрозумілі .
Збережіть книгу з двома створеними макросами під своїм іменем .
Вставка листа макроса .
Існує можливість створювати макроси самостійно . Для цього треба встановити курсор мишки на ярличок листа , перед яким передбачається вставка , і натиснути праву кнопку мишки . З контекстного меню вибрати пункт Вставка... , після чого у діалоговому вікні (рис.3) вибрати Модуль (якщо створюється модуль VBA) або ж Макрос MS Excel .
Рис. 3
Того ж можна досягнути через вибір у меню пункту Вставка/Макрос/...
Порядок виконання роботи
Запустіть ЕТ Excel .
Виконайте вправи , описані в теоретичних відомостях . У прикладі поясніть смисл команд у обох створених Вами макросах .
З’ясуйте :
які команди MS Excel 4.0 Macro :
виконують виділення діапазону комірок
виконують копіювання комірок
змінюють властивості шрифта у комірці
змінюють ширину стовпчика
вводять задане значення у комірку
створюють діаграму на основі заданого діапазону
виконують сортування комірок
як називаються об’єкти , що відображають у VBA :
стрічки , стовпці
лист
діапазон комірок
активну комірку
які методи вищезгаданих об’єктів виконують:
виділення
активацію об’єкта
копіювання
сортування
Завантажте файл Examp52 . Поясніть смисл макросів , які в ньому містяться (які дії вони виконують?) .
Оформіть результати роботи.
Література .
1.О.Колесников,А.Пробитюк «Excel 7.0 для Windows 95» Київ , BHV , 1996 рік .
Додатки
Приклад макросу з використанням VBA
'
' VBA Ìàêðîñ
' Ìàêðîñ çàïèñàí 21.12.01 (Alexandre Katalov)
'
'
Sub VBA()
Sheets("Ëèñò1").Select
Rows("4:5").Select
Selection.Cut
Sheets("Ëèñò2").Select
Rows("5:6").Select
ActiveSheet.Paste
Columns("A:A").Select
With Selection.Font
.Name = "MS Sans Serif"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlNone
.ColorIndex = xlAutomatic
End With
With Selection.Font
.Name = "MS Sans Serif"
.Size = 24
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlNone
.ColorIndex = xlAutomatic
End With
Selection.Font.Bold = True
Selection.Font.Italic = True
Columns("C:C").Select
With Selection.Borders(xlLeft)
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlRight)
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlTop)
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlBottom)
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.BorderAround Weight:=xlThin, ColorIndex:=xlAutomatic
Selection.Font.ColorIndex = 28
With Selection
.HorizontalAlignment = xlCenterAcrossSelection
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = xlHorizontal
End With
Selection.Style = "Currency"
Rows("3:3").RowHeight = 42
Columns("E:E").ColumnWidth = 10.43
Range("H1").Select
ActiveCell.FormulaR1C1 = "ϳäñóìêè"
Columns("A:C").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range _
("B1"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
Columns("E:E").Select
ActiveWorkbook.SaveAs Filename:="C:\MSOffice\Excel\Examp52.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
Приклад макросу з використанням MSExcel40Macro
MSExcel40Macro
=РАБОЧАЯ.КНИГА.ПРОКРУТКА(;ЛОЖЬ)
=РАБОЧАЯ.КНИГА.ВЫДЕЛИТЬ("Лист3";"Лист3")
=ВЫДЕЛИТЬ("R4:R7;C4:C6";"R1C4")
=СВОЙСТВА.ШРИФТА("Courier New Cyr";;10;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;1;0;ЛОЖЬ)
=ФОРМАТ.ШРИФТ(;;ИСТИНА)
=ФОРМАТ.ШРИФТ(;;;ИСТИНА)
=ВЫДЕЛИТЬ("C2")
=ВЫРАВНИВАНИЕ(7;ЛОЖЬ;3;0;ЛОЖЬ)
=НАЗНАЧИТЬ.СТИЛЬ("Денежный")
=ВЫДЕЛИТЬ("R7C5:R11C7")
=ВЫРЕЗАТЬ()
=РАБОЧАЯ.КНИГА.ВЫДЕЛИТЬ("Лист4";"Лист4")
=ВЫДЕЛИТЬ("R7C3")
=ВСТАВИТЬ()
=ФОРМАТ.ШРИФТ(;;ЛОЖЬ)
=РАМКА(1;1;1;1;1;;0;0;0;0;0)
=УЗОРЫ(1;;4;ИСТИНА)
=СВОЙСТВА.ШРИФТА(;;;;;;;;;3)
=ВЫРАВНИВАНИЕ(3;ЛОЖЬ;3;0;ЛОЖЬ)
=ВЫДЕЛИТЬ("R12C1")
=ФОРМУЛА("Macros")
=ВЫДЕЛИТЬ("C3:C4")
=СОРТИРОВКА(1;"R1C3";1;"R1C4";2;;;0;1;ЛОЖЬ)
=ЗАЩИТИТЬ.ДОКУМЕНТ?(ИСТИНА;;;ИСТИНА;ИСТИНА)
=СОХРАНИТЬ.КАК("C:\Мои документы\Книга2.xls";1;"";ИСТИНА;"";ИСТИНА)
=ЗАЩИТИТЬ.ДОКУМЕНТ(ЛОЖЬ;;;ЛОЖЬ;ЛОЖЬ)
=ВОЗВРАТ()