Именно так часто звучит задание на курсовую работу… Конечно, перед этой фразой идет описание исходных данных (по вариантам), т.е. ситуации, на основе которой вам необходимо будет создать базу данных Excel и заполнить ее начальными тестовыми данными…
После этой фразы тоже идет информация по вариантам: точное описание запросов, которые должна выполнить ваша VBA программа.
Макросы VBA Excel позволяют программировать любые действия с данными… Достаточно знать, где располагаются исходные данные (т.е. структуру БД) и что требуется получить на выходе…
Итак, допустим есть Условие (ситуация по варианту):
В коллективном хозяйстве имеется 7 бригад, выращивающих в течение 5 (и более) лет 7 фруктово-ягодных культур. (Каждая бригада специализируется на одной культуре). Выращенные фруктово-ягодные культуры затем продаются по ценам, меняющимся каждый год.
Поэтому на Листе «Данные» создается таблицу. Это и будет база данных (БД Excel). Ее можно расширять вниз, добавлять данные за следующие года… Но структуру изменять нельзя… Каждый год должен иметь по две строки: урожай в центнерах и цена в рублях.
VBA для начинающих — Первые шаги — Новый курс VBA (2)
Кроме того, необходимо отвести одну из ячеек (например: D28) для ввода номера года (последнего из 5 лет, по которым производится анализ). Это тоже данные для макроса, без которых он не сможет выполнять расчеты, т.к. не понятно, какие 5 лет учитывать…
И, конечно, надо позаботиться об исполнительной командной кнопке (разместить на листе), которая и будет вызывать макрос… Например, обозвать её: «Результаты анализа данных»… Макрос должен не только произвести нужные вычисления, сформировать отчет, но и перебросить пользователя на лист с результатами анализа…
Рис.1 На Листе Excel «Данные» также расположены и средства запуска макроса
- исходные данные в виде таблицы, где перечислены названия бригад, наименование фруктово-ягодной культуры, количество собранного урожая за год (в центнерах), цена, по которой был продан урожай, выращенный одной бригадой;
- доход каждой бригады за 5 лет;
- доход всего хозяйства за 3(третий) год;
- наименование фруктово-ягодной культуры, принесшей наибольший доход за 5 лет;
- название бригады, получившей наименьший доход за 5 лет.
Рис.2 Отчет «Результаты анализа» на Листе Excel средствами макроса VBA
Лист «Результаты анализа» заполняется макросом по щелчку левой кнопкой мыши по командной кнопке «Результаты анализа данных»…
Вверху листа располагается таблица «Список бригад в коллективном хозяйстве», но это не вся БД, а только данные за пять лет. Если бы был указан для анализа 2008 год, то скопировались бы данные за 2003-2008 годы. Это ответ на первый вопрос задания…
Принцип работы, создание и конструирование Пользовательских Форм — UserForms (2)
Далее, под заголовком «Анализ по результатам 2005 года» идут ответы на 2-5 вопросы задания.
Этот лист тоже имеет командную кнопку, но предназначена она лишь для очистки отчета…
VBA Макрос очистки может выглядеть так:
Sub ClearResult() ‘очистить результаты
Set resL = Sheets(«Результаты анализа»)
resL.Cells(r2, c2 + 1).ClearContents ‘очистка год анализа
resL.Range(resL.Cells(r2 + 3, c2 + 1), resL.Cells(r2 + 3, c2 + 5)).ClearContents ‘очистка годов в шапке таблицы
resL.Range(resL.Cells(r2 + 4, c2), resL.Cells(r2 + 10, c2 + 6)).ClearContents ‘очистка таблицы
resL.Cells(r2 + 12, c2 + 3).ClearContents
resL.Cells(r2 + 14, c2 + 3).ClearContents
resL.Cells(r2 + 16, c2 + 5).ClearContents
resL.Cells(r1 + 5, c1) = «» ‘очистка годов в верхней таблице
resL.Cells(r1 + 7, c1) = «»
resL.Cells(r1 + 9, c1) = «»
resL.Cells(r1 + 11, c1) = «»
resL.Cells(r1 + 13, c1) = «»
resL.Range(resL.Cells(r1 + 2, c1 + 2), resL.Cells(r1 + 14, c1 + 8)).ClearContents ‘очистка верхней таблицы
‘освобождаю объектные переменные
Set resL = Nothing
End Sub
где r1, r2, c1, c2 целочисленные константы, обеспечивающие нужное расположение таблиц на листе.
При необходимости проконсультирую по Skype…
Другие варианты курсовой очень похожи на предыдущий… Проблем с их решением быть не должно…
Источник: orenstudent.ru
Основные принципы и концепции программирования на языке VBA в Excel: Информация
Язык Visual Basic for Application (VBA) – объектно-ориентированный язык программирования, базируется на командах и синтаксисе языка Basic. VBA встроен в офисную среду и позволяет манипулировать объектами всех офисных приложений.
Язык VBA позволяет сочетать простые методы по созданию документов (использование команд меню или технология перетаскивания мышью) и программные методы для разработки эффективного пользовательского приложения. Чаще всего основным документом, вокруг которого пользователь строит свое приложение, является MS Excel. Поэтому данные лекции посвящены программированию именно для этого офисного пакета. На большом количестве примеров рассматриваются основные конструкции языка, приемы разработки макропроцедур.
Специальности: Программист
ISBN: 978-5-9556-0119-9
Предварительные курсы
- Работа в Microsoft Excel XP
- Microsoft Excel 2000
- Работа в Microsoft Excel 2007
- Microsoft Excel 2007
Дополнительные курсы
- Основы офисного программирования и язык VBA
- VBA в MS Office 2007
- Основы офисного программирования и документы Word
- Основы офисного программирования и документы Excel
План занятий
Дата изучения
2 часа 30 минут
Сдать экзамен экстерном
Лекция 1
Использование макрорекордера. Абсолютные и относительные ссылки
В лекции рассказывается о записи макроса с использованием макрорекодера. С помощью макрорекордера удобно создавать процедуры, которые автоматизируют рутинные операции: форматирование таблиц, создание диаграмм и сводных таблиц, работу со списками данных и т.д. Во второй части лекции рассматриваются вопросы применения абсолютных и относительных ссылок в формулах на рабочем листе и в процедурах VBA.
Источник: intuit.ru
Курсовая работа «Использования VBA в офисных приложениях»
«Использование языка Visual Basic for Application в офисных приложениях».
Выполнил: Зверева Д.А.
Кандидат физико-математических наук
2. Из истории создания Visual Basic for Application……………………………..……….4
3. Основные понятия языка VBA Excel……………………………………………………7
- Общее понятие о языке VBA;
- Объекты VBA;
- Свойства, методы и события;
- Элементы языка VBA;
- Структура редактора VBA.
- Панели инструментов
4. Создание макросов и их применение в Excel……………………………………….…16
- Понятие макроса.
- Запись простых макросов.
- Выполнение макросов.
- Редактирование макросов.
- Назначение макроса графическим изображениям.
- Удаление макросов из списка макросов.
- Ограниченность макросов.
- Создание экранных форм.
- Панель элементов управления.
- Свойства, методы и события объекта UserForm.
- Пользовательская форма UserForm
6. Рисунки в пользовательских формах……………………………………………..……28
- Свойства объекта Image.
- Отладка программ.
7. Стандартные диалоговые окна………………………………………………………. 31
- Окно сообщений MsgBox
- Окно ввода InputBox
- Объединение текстовых строк.
9. VBA в приложении Power Point………………………………………………………..39
- Применение пользовательских форм.
В современном обществе компьютер играет огромную роль, уже трудно представить труд ученых, инженеров, экономистов, бухгалтеров без использования вычислительной техники. Но компьютер сам по себе не способен даже на простые операции, поэтому для того чтобы человек мог использовать компьютер необходимо так называемое программное обеспечение.
Программа руководит ресурсами компьютера и предоставляет их в распоряжение пользователя. Существует огромное количество разнообразных по своим функциям и возможностям программ, но среди них выделяют два основных типа: системное и прикладное программное обеспечение. К системному программному обеспечению относят операционную систему и все программы, предназначенные для создания рабочей среды для прикладных программ, которые в свою очередь выполняют ту самую, необходимую пользователю, работу. В этой курсовой работе я остановлюсь на обзоре операционной системы Windows, в частности офисного пакета Microsoft Office и использовании языка Visual Basic for Application в нем.
2. Из истории создания Visual Basic for Application.
Язык Basic был разработан профессорами Дартмутского колледжа Дж.Кемени и Т.Курцом в 1965 году как средство обучения и работы непрофессиональных программистов. Его назначение определено в самом названии, которое является аббревиатурой слов Beginner’s All- purpose Symbolic Instruction Code (многоцелевой язык символических инструкций для начинающих) и при этом в дословном переводе означает «базовый». Однако парадокс заключается в том, что, будучи действительно весьма простым средством программирования, совершенно непригодным в те времена для решения серьезных задач, Basic представлял собой качественно новую технологию создания программ в режиме интерактивного диалога между разработчиком и компьютером. То есть представлял собой прообраз современных систем программирования. Другое дело, что решение подобной задачи на технике тех лет было возможно только за счет максимального упрощения языка программирования и использования транслятора типа «интерпретатор».
В силу этих же причин Basic в основном применялся на мини- и микроЭВМ, которые в 70-е годы имели оперативную память, объем которой кажется сегодня просто нереальным (4-32 тысяч байт). Резкое развитие систем на основе Basic началось с появлением в начале 80-х годов персональных компьютеров, производительность и популярность которых растет вот уже двадцать лет невиданными темпами.
В начале 90-х годов Microsoft начала активную борьбу за продвижение в массы своей новой операционной системы Windows (против своей же, но более уже устаревающей MS-DOS). Но, как известно, пользователи работают не с ОС, а с программами, которые работают в ее среде. Поэтому скорость смены платформы в основном определяется темпами появления соответствующих прикладных программ.
Однако смена операционных систем представляет серьезную проблему и для программистов, так как им нужно было осваивать новую технологию разработки программ. В тот момент бытующим (и в значительной степени, совершенно справедливым) мнением было то, что Windows предъявляет более высокие требования к квалификации программиста.
В 1991 году под лозунгом «теперь и начинающие программисты могут легко создавать приложения для Windows» появилась первая версия нового инструментального средства Microsoft Visual Basic. В тот момент Microsoft достаточно скромно оценивала возможности этой системы, ориентируя ее, прежде всего, на категорию начинающих и непрофессиональных программистов. Основной задачей тогда было выпустить на рынок простой и удобный инструмент разработки в тогда еще довольно новой среде Windows, программирование в которой представляло проблему и для опытных специалистов.
Действительно, VB 1.0 в тот момент был больше похож не на рабочий инструмент, а на действующий макет будущей среды разработки. Его принципиальное новшество заключалось в реализации идей событийно-управляемого и визуального программирования в среде Windows, которые весьма радикально отличались от классических схем разработки программ. По общему признанию VB стал родоначальником нового поколения инструментов, называемых сегодня средствами быстрой разработки программ (Rapid Application Development, RAD). Сегодня эта идеология считает привычной, но тогда она казалась совершенно необычной и создавала серьезные проблемы (в том числе чисто психологического плана) для программистов «старых времен».
Тем не менее, число VB-пользователей росло, причем во многом за счет огромной популярности ее предшественника — QuickBasic. При этом VB быстро «мужал», усиливаясь за счет, как развития среды программирования, так и включения профессиональных элементов языка и проблемно-ориентированных средств. И к моменту выпуска в 1995 году VB 4.0 эта система была уже признанным и одним из самых распространенных инструментов создания широкого класса приложений. В настоящее время используется версия VB 6.0 и 7.0.
В начале 90-х годов наметилась отчетливая тенденция включение в приложения, предназначенные для конечного пользователя, средства внутреннего программирования, которые должны были решать задачи настройки и адаптации этих пакетов для конкретных условий их применения.
В конце 1993 г. Microsoft объявила о намерении создать на основе VB новую универсальную систему программирования для прикладных программ, которая получила название Visual Basic for Applications (VB для приложений). Естественно, реализацию этого проекта она начала с собственных офисных пакетов.
Первый вариант VBA 1.0 появился в составе MS Office 4.0, но лишь в программах Excel 4.0 и Project 6.0. В других же приложениях — Word 6.0 и Access 2.0 — были собственные варианты Basic. Более того, VBA 1.0 довольно сильно отличался (причем имея ряд существенных преимуществ) от используемой тогда универсальной системы VB 3.0.
Качественный перелом наступил в конце 1996 года с выпуском MS Office 97, в котором была реализована единая среда программирования VBA 5.0, включенная в программы Word, Excel и PowerPoint. Более того, VBA 5.0 использовала тот же самый языковый механизм и среду разработки, что и универсальная система VB 5.0. В состав выпущенного MS Office 2000 вошла соответственно версия VBA 6.0, которая используется в шести программах — Word, Excel, PowerPoint, Access, Outlook, Frontpage.
3. Основные понятия языка VBA Excel
VBA относится к языкам объектно-ориентированного программирования, поэтому разговор о нем естественно начать с понятия объекта.
Объект — основной элемент VBA Excel. В VBA объектами являются рабочая книга, рабочий лист и его составляющие.
Sheet — лист Excel;
Range — диапазон ячеек;
UserForm — пользовательская форма.
Доступ к объекту возможен через его методы и свойства.
Над объектами можно совершать различные действия. Действия, совершаемые над объектами, называются методами. Например, ячейку можно очистить (Clear), приложение закрыть (Quit), пользовательскую форму показать (Show) или скрыть (Hide).
Название метода отделяется от названия объекта точкой: объект.метод.
Примеры использования методов:
Range(«B2:E2»).Select — выбрать диапазон ячеек B2:E2;
Range(«C1:C5»).Clear — очистить диапазон ячеек C1:C5;
UserForm2.Hide — скрыть форму № 2;
UserForm5.Show — показать форму № 5;
Application.Quit — выйти из приложения.
Свойствами описываются характеристики объектов. Например, размер и цвет шрифта, положение формы на экране или состояние объекта (доступность, видимость). Чтобы изменить характеристику объекта, надо просто изменить значение свойства, т.е. присвоить ему определенные значения.
Синтаксис установки значения свойства:
— где Объект обозначает имя объекта, Свойство — имя свойства, которому присваивается значение.
Имя объекта отделяется от имени свойства точкой.
Range(«D1»).Value = 2005 — поместить в ячейку D1 значение 2005.
Range(«C1:C10»).Text = «Информатика» — поместить в диапазон ячеек C1:C10 текст Информатика.
Range(«B2»).Font.Size = 14 — в ячейке B2 установить размер шрифта 14.
Методы и свойства некоторых объектов VBA
Объект: Application (приложение).
Метод Свойство: Caption (имя главного окна).
Примеры. Application.Quit — закрыть приложение; Application.Caption = «Протокол» — установить в качестве заголовка окна приложения “Протокол”.
Объект: Sheet (лист), ActiveSheet (активный/выбранный лист).
Семейство: Sheets (листы).
Методы: Select (выбрать); ShowDataForm (показать встроенную форму).
Примеры: Sheets(«Меню»).Select — выбрать лист “Меню”; ActiveSheet.ShowDataForm — на активном в настоящий момент листе показать встроенную форму.
Объект: Range (диапазон).
Методы: Select (выделить); Clear (очистить).
Свойство: Name (имя).
Примеры. Sheets(«Протокол»).Range(«В4:В10»).Name = «Класс» — диапазону В4:В10, расположенному на листе “Протокол”, присвоить имя “Класс”; Sheets(«Протокол»).Range(«В4:В10»).Select — выделить диапазон В4:В10 на листе “Протокол”.
Объект, Семейство: UserForm (пользовательская форма).
Методы: Show (показать); Hide (скрыть).
Свойство: Caption (текст, отображаемый в строке заголовка).
Примеры. UserForm1.Show — показать пользовательскую форму номер один;
UserForm1.Hide — скрыть пользовательскую форму номер один;
UserForm1.Caption — «Информатика»- вывести заданный в кавычках текст в строке заголовка.
Объект, Семейство: TextBox (Поле ввода).
Свойство: Text (содержимое).
Примеры. UserForm1.TextBox1.Text = Date — в поле ввода номер один в пользовательской форме номер один записать текущую дату; UserForm1.TextBox2.Text = » » — очистить поле ввода номер два в пользовательской форме номер один.
Объект, Семейство: ComboBox (поле со списком).
Метод: AddItem (добавить элемент в список).
Свойства: Text (содержимое); Rowsource (источник строк для списка).
Примеры. UserForm1.ComboBox2.Text = » » — очистить значение поля для поля ввода со списком номер два в пользовательской форме номер один; UserForm2.ComboBox1.Rowsource=»В2:В10″ — источником строк для поля один со списком в пользовательской форме два установить данные из диапазона В2:В10;
UserForm1.ComboBox1.AddItem («Факс») — добавить к списку элемент, заключенный в кавычки.
Объект, Семейство: OptionButton.
Свойства: Value (значение); Сaption (надпись).
Примеры. UserForm3.OptionButton1.Value = True — выбрать переключатель номер один в пользовательской форме номер три; UserForm3.OptionButton1.Capture = «Успеваемость» — установить надпись “Успеваемость” рядом с переключателем в пользовательской форме номер три.
Объект, Семейство: CheckBox.
Свойства: Value (значение); Сaption (надпись).
Примеры. UserForm2.CheckBox1.Value = True — установить флажок номер один в пользовательской форме номер два; UserForm3.CheckBox1.Value = False — сбросить флажок номер один в пользовательской форме номер три; UserForm4.CheckBox1.Capture=»Класс» — установить надпись “Класс” рядом с флажком в пользовательской форме номер четыре.
Событие представляет собой действие, распознаваемое объектом (например, щелчок мышью или нажатие клавиши, перемещение мыши или выход из программы), для которого можно запрограммировать отклик, т.е. реакцию объекта на произошедшее событие. В языке VBA для каждого объекта определен набор стандартных событий. Стандартное событие для объекта “кнопка” (CommandButton) — щелчок мышью (Click).
Если пользователь нажимает на кнопку, то это событие. На это событие должен быть отклик, т.е. выполнение какой-либо программы. Такая программа называется процедурой обработки событий и имеет стандартное имя. Если такой отклик не создан (не написана соответствующая программа), то система никак не будет реагировать на это событие.
Элементы языка VBA
Объекты — основные элементы языка VBA, но не единственные. К другим элементам относятся: константы, переменные, массивы, выражения, встроенные функции, встроенные диалоговые окна, операторы.
Константы — данные, не изменяющиеся в процессе решения задачи. Константы бывают двух видов: числовые и символьные.
Числовые константы — это целые либо вещественные числа.
Символьные константы — текст, заключенный в кавычки. Пример числовой константы — 5,8 (использование запятой или точки зависит от настроек операционной системы). Пример символьной константы — ООО “Темп”.
Переменные — данные, значения которых меняются в ходе выполнения программы. Для переменной задается имя и тип.
Источник: nsportal.ru