- •Содержание
- •Введение
- •1 Алгоритм и его свойства
- •2 Основные понятия VBA. Линейные алгоритмы
- •2.1 Элементы языка VBA
- •2.2 Типы данных VBA
- •2.3 Константы VBA
- •2.4 Переменные VBA
- •2.5 Выражения в VBA
- •2.6 Встроенные функции VBA
- •2.7 Оператор присваивания
- •3 Разветвляющиеся алгоритмы
- •3.1 Оператор IF и его формы записи
- •3.2 Типовые задачи разветвляющихся алгоритмов
- •4 Циклические алгоритмы
- •4.1 Оператор цикла For
- •Оператор цикла For Each
- •4.2 Оператор цикла Do
- •4.3 Вложенные циклы
- •5 Обработка массивов данных
- •5.1 Ввод-вывод массивов
- •Расположение данных в файле "dat.txt"
- •Расположение данных в файле "res.txt"
- •5.2 Программирование обработки одномерных массивов
- •5.3 Программирование обработки двумерных массивов
- •6.1 Лабораторная работа №1
- •6.2 Задание к расчетно-графической работе №1
- •6.3 Лабораторная работа №2
- •Обработка массивов данных на VBA
- •6.4 Задание к расчетно-графической работе №2
- •ЛИТЕРАТУРА
- •Окно проекта
- •Главное меню
- •Интеллектуальные возможности редактора кода
- •Операции сравнения
- •Конкатенация строк
- •Логические операторы VBA
- •Приоритеты выполнения операций при вычислении сложных выражений
- •Операторы пересчета
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Московский государственный машиностроительный университет (МАМИ)
/УНИВЕРСИТЕТ МАШИНОСТРОЕНИЯ/
Н.С.Карташов, А.И.Макаров, Д.А.Макаров
Алгоритмизация и программирование на VBA в Microsoft Excel
Учебное пособие по дисциплинам
«Информатика» и «Информационные технологии» для студентов заочного отделения всех направлений и специальностей
Одобрено методической комиссии по направлению 230000 «Информатика и вычислительная техника»
Москва - 2012
УДК 681.3.06
Разработано в соответствии с Федеральным государственным образовательным стандартом для студентов заочного отделения всех специальностей и направлений на основе программ по дисциплинам «Информатика» и «Информационные технологии».
Рецензенты:
- профессор кафедры «Специальное машиностроение -1» МГТУ им. Н.Э. Баумана, д.т.н., проф., Фомичев Ю.И.,
-доцент кафедры «Информационные технологии в экономике» к.э.н., доцент Аркатов П.А.
«Алгоритмизация и программирование на VBA в Microsoft Excel»
Учебное пособие по дисциплинам «Информатика» и «Информационные технологии» для студентов заочного отделения всех направлений и специальностей
стр. 133, рис. 28, табл. 20, библ. 10, прил. 5 Университет машиностроения 2012
Кафедры «Информационные системы и дистанционные технологии» и «Автоматизация и управление».
Пособие ориентировано на изучение основ алгоритмизации и программирования применительно к инженерной деятельности будущих специалистов. В качестве языка программирования выбран язык Visual Basic for Application Microsoft Excel. Приводятся основы синтак-
сиса и примеры программ на языке VBA.
© Карташов Николай Сергеевич © Макаров Алексей Иванович © Макаров Дмитрий Алексеевич
© Московский государственный машиностроительный университет (МАМИ)
2
|
Содержание |
|
Введение...................................................................................................... |
4 |
|
1 Алгоритм и его свойства................................................................... |
8 |
|
2 Основные понятия VBA. Линейные алгоритмы........................... |
16 |
|
2.1 |
Элементы языка VBA.................................................................. |
17 |
2.2 |
Типы данных VBA ....................................................................... |
19 |
2.3 |
Константы VBA............................................................................ |
22 |
2.4 |
Переменные VBA......................................................................... |
26 |
2.5 |
Выражения в VBA........................................................................ |
28 |
2.6 |
Встроенные функции VBA ......................................................... |
30 |
2.7 |
Оператор присваивания............................................................... |
34 |
3 |
Разветвляющиеся алгоритмы.......................................................... |
36 |
3.1 |
Оператор IF и его формы записи................................................ |
39 |
3.2 |
Типовые задачи разветвляющихся алгоритмов........................ |
43 |
4 |
Циклические алгоритмы.................................................................. |
53 |
4.1 |
Оператор цикла For...................................................................... |
54 |
4.2 |
Оператор цикла Do....................................................................... |
58 |
4.3 |
Вложенные циклы........................................................................ |
61 |
5 |
Обработка массивов данных........................................................... |
66 |
5.1 |
Ввод-вывод массивов................................................................... |
69 |
5.2 |
Программирование обработки одномерных массивов............ |
75 |
5.3 |
Программирование обработки двумерных массивов .............. |
80 |
6 Задания к лабораторным и расчетно-графическим работам....... |
89 |
|
6.1 |
Лабораторная работа №1............................................................. |
90 |
6.2 |
Задание к расчетно-графической работе №1............................ |
94 |
6.3 |
Лабораторная работа №2........................................................... |
101 |
6.4 |
Задание к расчетно-графической работе №2.......................... |
106 |
ЛИТЕРАТУРА........................................................................................ |
111 |
|
Приложение А Описание интегрированной среды разработки VBA 112 |
||
Приложение Б Операции в VBA и приоритеты операций ................ |
118 |
|
Приложение В Математические функции VBA ................................. |
122 |
|
Приложение Г Функции преобразования данных.............................. |
127 |
|
Приложение Д Встроенные константы VBA функции MsgBox....... |
129 |
3
Введение
У дисциплины «Информатика» есть много определений. Наиболее полное и широкое известное определение информатики дано на Международном конгрессе в Японии в 1978 г.: «Понятие информатики охватывает области, связанные с разработкой, созданием, использованием и материально-техническим обслуживанием систем обработки информации, включая машины, оборудование, математическое обеспечение, организационные аспекты, а также комплекс промышленного, коммерческого, административного, социального и политического воздействия»
Основу современного содержания информатики составляют ЭВМ и машинная обработки информации. В информатике, как области деятельности, можно выделить несколько направлений:
-научное - фундаментальные исследования процессов получения, передачи, представления, хранения и обработки информации, а также разработка технических и программных средств для оперирования с информацией;
-промышленное - массовое производство компьютеров и других технических средств информатики;
-социальное - изучение и решение социальных вопросов информатизации общества, в том числе компьютеризация учебного процесса.
Винформатике выделяют три неразрывно и существенно связанные части — технические средства, программные и алгоритмические средства.
Технические средства – составляют аппаратную конфигурацию вычислительных систем, или аппаратуру компьютеров, в английском языке обозначаются словом Hardware, которое буквально переводится как «твердые изделия».
4
Программные средства – совокупность программ обработки данных и необходимых для их эксплуатации документов.
Для обозначения программных средств, под которыми понимается совокупность всех программ, используемых компьютерами, и область деятельности по их созданию и применению, используется слово Software (буквально — «мягкие изделия»), которое подчеркивает равнозначность самой машины и программного обеспечения, а также способность программного обеспечения модифицироваться, приспосабливаться и развиваться.
Алгоритмические средства – разработка методов и технологий обработки информации, проектирования информационных систем
Программированию задачи всегда предшествует разработка способа ее решения в виде последовательности действий, ведущих от исходных данных к искомому результату, иными словами, разработка алгоритма решения задачи. Для обозначения части информатики, связанной с разработкой алгоритмов и изучением методов и приемов их построения, применяют термин Brainware (англ. brain — интеллект ).
В пособии основное внимание уделяется третьей части дисциплины «Информатика» - алгоритмизации и программированию. В качестве основного языка программирования рассматривается язык Visual Basic for Application (VBA), который позволяет автоматизировать работу в приложениях пакета Microsoft Office. В необходимых ситуациях уточняется версия пакета, для которого написан тот или иной фрагмент программы.
Visual Basic for Applications (VBA) - это сочетание одного из са-
мых простых языков программирования и всех вычислительных возможностей Excel. Он прост в освоении и позволяет быстро получать ощутимые результаты - конструировать профессиональные приложения, решающие практически все задачи, встречающиеся в среде Win-
5
dows. При этом создание многих приложений с использованием VBA проще и быстрее, чем при помощи других языков программирования.
На сегодняшний день язык программирования VBA является мощным программным дополнением к таким пакетам как:
•Microsoft Office – Word, Excel, PowerPoint, Access, и тд.;
•Microsoft Project;
•CorelDraw версии 9 или выше;
•AutoCAD R14 или выше;
•а также много иных приложений, в которых могут использоваться как полноформатные версии VBA, так и урезанные ( VBscript)
итд.
VBA применяет технологию визуального программирования, позволяющую наглядно конструировать экранные формы и управляющие элементы управления непосредственно на экране. VBA позволяет так же создавать программы при помощи средства МасroRecorder (автоматическая запись макроса). VBA имеет сложные
имощные средства, предназначенные для создания, отладки, документирования и проектирования больших приложений – интегрированную среду разработки (Integrated Development Environment), сокращенно IDE VBA. Базовые сведения об интегрированной среде программирования VBA приведены в приложении А.
Вданном пособии рассматриваются основные элементы языка VBA, приводятся различные примеры. Для изучения основ программирования и получения практических навыков по составлению и отладке программ на языке VBA студентам предлагается выполнить на компьютере представленные в данном пособии лабораторные работы
исвой вариант расчетно-графической работы (РГР). Тексты лабораторных работ и задания к РГР приведены в разделе 6.
При выполнении расчетно-графических работ студент обязан заранее подготовиться к ним, для этого необходимо:
6
1)изучить теоретический материал работы по лекциям, данному пособию и рекомендуемой литературе;
2)оформить отчет по расчетно-графической работе.
Отчет по расчетно-графической работе должен быть оформлен на листах бумаги формата А4 и включать в себя следующие разделы:
-титульный лист;
-краткий конспект теоретической части;
-условия задания своего варианта;
-решение задания в виде текста программы и, если это необходимо,
ввиде блок-схемы;
-тестовые данные для отладки программы и ожидаемый результат тестирования программы;
-полученный результат при выполнении программы на ЭВМ.
Впособии при описании синтаксических конструкций языка VBA используются отдельные элементы нотации Бэкуса-Наура (впервые такая нотация была применена при описании языка Алгол и название получила по фамилиям ученых ее разработавших - Д. Бэкуса и П. Наура):
-параметр, записанный без скобок, должен обязательно быть указан
вданной конструкции;
-параметр, заключенный в квадратные скобки, обозначает параметр по умолчанию – если его не задать, то будет назначено некоторое стандартное значение;
-параметры, заключенные в фигурные скобки, обозначают альтернативные параметры по умолчанию – следует задать одну из предложенных конструкций, либо не задавать ничего.
При подготовке пособия был использован пакет Microsoft Office версии 7.
7