Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Возможности vba в excel

VBA Excel. Начинаем программировать с нуля

Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Знакомство с редактором VBA

  1. Создайте новую книгу Excel и сохраните ее как книгу с поддержкой макросов с расширением .xlsm. В старых версиях Excel по 2003 год – как обычную книгу с расширением .xls.
  2. Нажмите сочетание клавиш «левая_клавиша_Alt+F11», которое откроет редактор VBA. С правой клавишей Alt такой фокус не пройдет. Также, в редактор VBA можно перейти по ссылке «Visual Basic» из панели инструментов «Разработчик» на ленте быстрого доступа. Если вкладки «Разработчик» на ленте нет, ее следует добавить в настройках параметров Excel.

В левой части редактора VBA расположен проводник проекта, в котором отображены все открытые книги Excel. Верхней строки, как на изображении, у вас скорее всего не будет, так как это – личная книга макросов. Справа расположен модуль, в который записываются процедуры (подпрограммы) с кодом VBA. На изображении открыт модуль листа, мы же далее создадим стандартный программный модуль.

  1. Нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку после значка Excel на панели инструментов.

После нажатия кнопки «Module» вы увидите ссылку на него, появившуюся в проводнике слева.

Первая программа на VBA Excel

Добавляем на стандартный модуль шаблон процедуры – строки ее начала и завершения, между которыми мы и будем писать свою первую программу (процедуру, подпрограмму).

  1. Откройте стандартный модуль двойным кликом по его ссылке в проводнике. Поместите в него курсор и нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.

В результате откроется окно добавления шаблона процедуры (Sub).

  1. Наберите в поле «Name» имя процедуры: «Primer1», или скопируйте его отсюда и вставьте в поле «Name». Нажмите кнопку «OK», чтобы добавить в модуль первую и последнюю строки процедуры.

Имя процедуры может быть написано как на латинице, так и на кириллице, может содержать цифры и знак подчеркивания. Оно обязательно должно начинаться с буквы и не содержать пробелы, вместо которых следует использовать знак подчеркивания.

  1. Вставьте внутрь шаблона процедуры следующую строку: MsgBox «Привет» .

Функция MsgBox выводит информационное сообщение с указанным текстом. В нашем примере – это «Привет».

  1. Проверьте, что курсор находится внутри процедуры, и запустите ее, нажав клавишу «F5». А также, запустить процедуру на выполнение можно, нажав на треугольник (на изображении под пунктом меню «Debug») или на кнопку «Run Sub/UserForm» во вкладке «Run» главного меню редактора VBA Excel.


Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!

Работа с переменными

Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «’» (апостроф).

Пример 2
Присвоение переменным числовых значений:

VBA Excel: примеры программ. Макросы в Excel

Немногие знают, что первая версия популярного продукта Microsoft Excel появилась в 1985 году. С тех пор он пережил несколько модификаций и востребован у миллионов пользователей по всему миру. При этом многие работают лишь с малой толикой возможностей этого табличного процессора и даже не догадываются, как им могло бы облегчить жизнь умение программирования в Excel.

Что такое VBA

Программирование в Excel осуществляется посредством языка программирования Visual Basic for Application, который изначально встроен в самый известный табличный процессор от Microsoft.

К его достоинствам специалисты относят сравнительную легкость освоения. Как показывает практика, азами VBA могут овладеть даже пользователи, которые не имеют навыков профессионального программирования. К особенностям VBA относится выполнение скрипта в среде офисных приложений.

Недостатком программы являются проблемы, связанные с совместимостью различных версий. Они обусловлены тем, что код программы VBA обращается к функциональным возможностям, которые присутствуют в новой версии продукта, но отсутствуют в старой. Также к минусам относят и чрезмерно высокую открытость кода для изменения посторонним лицом. Тем не менее Microsoft Office, а также IBM Lotus Symphony позволяют пользователю применять шифрование начального кода и установку пароля для его просмотра.

Объекты, коллекции, свойства и методы

Именно с этими понятиями нужно разобраться тем, кто собирается работать в среде VBA. Прежде всего необходимо понять, что такое объект. В Excel в этом качестве выступают лист, книга, ячейка и диапазон. Данные объекты обладают специальной иерархией, т.е. подчиняются друг другу.

Главным из них является Application, соответствующий самой программе Excel. Затем следуют Workbooks, Worksheets, а также Range. Например, для обращения к ячейке A1 на конкретном листе следует указать путь с учетом иерархии.

Что касается понятия «коллекция», то это группа объектов того же класса, которая в записи имеет вид ChartObjects. Ее отдельные элементы также являются объектами.

Следующее понятие — свойства. Они являются необходимой характеристикой любого объекта. Например, для Range — это Value или Formula.

Методы — это команды, показывающие, что требуется сделать. При написании кода в VBA их необходимо отделять от объекта точкой. Например, как будет показано в дальнейшем, очень часто при программировании в «Эксель» используют команду Cells(1,1).Select. Она означает, что необходимо выбрать ячейку с координатами (1,1) т.е. A1.

Вместе с ней нередко используется Selection.ClearContents. Ее выполнение означает очистку содержимого выбранной ячейки.

Как начать

Прежде всего требуется создать файл и сохранить его, присвоив имя и выбрав тип «Книга Excel с поддержкой макросов».

Затем необходимо перейти в приложение VB, для чего достаточно воспользоваться комбинацией клавиш «Alt» и «F11». Далее:

  • в строке меню, расположенном в верхней части окна, нажимают на иконку рядом с иконкой Excel;
  • выбирают команду Mudule;
  • сохраняют, нажав на иконку с изображением floppy disk;
  • пишут, скажем так, набросок кода.

Он выглядит следующим образом:

Обратите внимание, что строка «’Наш код» будет выделена другим цветом (зеленым). Причина в апострофе, поставленном в начале строки, который обозначает, что далее следует комментарий.

Теперь вы можете написать любой код и создать для себя новый инструмент в VBA Excel (примеры программ см. далее). Конечно, тем, кто знаком с азами Visual Basic, будет намного проще. Однако даже те, кто их не имеет, при желании смогут освоиться достаточно быстро.

Макросы в Excel

За таким названием скрываются программы, написанные на языке Visual Basic for Application. Таким образом, программирование в Excel — это создание макросов с нужным кодом. Благодаря этой возможности табличный процессор Microsoft саморазвивается, подстраиваясь под требования конкретного пользователя. Разобравшись с тем, как создавать модули для написания макросов, можно приступать к рассмотрению конкретных примеров программ VBA Excel. Лучше всего начать с самых элементарных кодов.

Читать еще:  Rows count vba excel описание

Пример 1

Задача: написать программу, которая будет копировать значение содержимое одной ячейки и затем записывать в другую.

  • открывают вкладку «Вид»;
  • переходят на пиктограмму «Макросы»;
  • жмут на «Запись макроса»;
  • заполняют открывшуюся форму.

Для простоты в поле «Имя макроса» оставляют «Макрос1», а в поле «Сочетание клавиш» вставляют, например, hh (это значит, что запустить программку можно будет блиц-командой «Ctrl+h»). Нажимают Enter.

Теперь, когда уже запущена запись макроса, производят копирование содержимого какой-либо ячейки в другую. Возвращаются на исходную пиктограмму. Нажимают на «Запись макроса». Это действие означает завершение программки.

  • вновь переходят на строку «Макросы»;
  • в списке выбирают «Макрос 1»;
  • нажимают «Выполнить» (то же действие запускается начатием сочетания клавиш «Ctrl+hh»).

В результате происходит действие, которое было осуществлено в процессе записи макроса.

Имеет смысл увидеть, как выглядит код. Для этого вновь переходят на строку «Макросы» и нажимают «Изменить» или «Войти». В результате оказываются в среде VBA. Собственно, сам код макроса находится между строками Sub Макрос1() и End Sub.

Если копирование было выполнено, например, из ячейки А1 в ячейку C1, то одна из строк кода будет выглядеть, как Range(“C1”).Select. В переводе это выглядит, как «Диапазон(“C1”).Выделить», иными словами осуществляет переход в VBA Excel, в ячейку С1.

Активную часть кода завершает команда ActiveSheet.Paste. Она означает запись содержания выделенной ячейки (в данном случае А1) в выделенную ячейку С1.

Пример 2

Циклы VBA помогают создавать различные макросы в Excel.

Циклы VBA помогают создавать различные макросы. Предположим, что имеется функция y=x + x 2 + 3x 3 – cos(x). Требуется создать макрос для получения ее графика. Сделать это можно только, используя циклы VBA.

За начальное и конечное значение аргумента функции берут x1=0 и x2=10. Кроме того, необходимо ввести константу — значение для шага изменения аргумента и начальное значение для счетчика.

Все примеры макросов VBA Excel создаются по той же процедуре, которая представлена выше. В данном конкретном случае код выглядит, как:

Do While x1 0 Then Cells(1, 1).Value = 1

Основные понятия. ПО VISUAL BASIC FOR APPLICATIONS (VBA) В MS EXCEL

ОБЩИЕ СВЕДЕНИЯ

ПО VISUAL BASIC FOR APPLICATIONS (VBA) В MS EXCEL

Методические указания к лабораторной работе по курсу

«Средства обработки и хранения информации» для студентов специальности «ОТИ»

Цель работы – знакомство с языком программирования VBA и изучение интерфейса его редактора

Основные понятия

Microsoft Excel — это очень мощный инструмент, который можно использовать для управления данными, их анализа и представления. Но иногда, несмотря на богатый набор возможностей стандартного интерфейса пользователя Excel, может понадобиться найти несложный способ выполнять повседневные повторяющиеся задачи или какие-то задачи, которые не удается решить с помощью интерфейса пользователя. К счастью в приложения Office, такие как Excel, интегрирован Visual Basic для приложений (VBA), язык программирования, позволяющий расширять возможности этих приложений.

VBA работает, выполняя макросы, пошаговые процедуры, написанные на языке Visual Basic. Обучение программированию может казаться пугающим, но при определенном терпении и с помощью нескольких примеров, подобных приведенным в этой статье, многие пользователя обнаружат, что овладение даже небольшими навыками программирования на VBA предоставляет им возможность выполнять в Office действия, которые раньше представлялись им невозможными. Освоение одних функций VBA упрощает освоение следующих — поэтому предоставляемые возможности неограниченны.

Общепризнано, что самой распространенной причиной использования VBA в Excel является автоматизация повторяющихся задач. Например, пусть есть десяток книг, каждая из которых содержит десяток листов, в каждый из которых нужно внести определенные изменения. Эти изменения могут быть простыми, такими как применение нового форматирования к некоторому фиксированному диапазону ячеек, или сложными, такими как просмотр определенных статистических данных для каждого листа, выбор оптимальной диаграммы для представления данных с этими характеристиками, и последующее создание и форматирование нужной диаграммы.

В любом случае пользователю, возможно, не придется выполнять эти действия вручную, по крайней мере, не больше нескольких раз. Вместо этого можно автоматизировать задачи с помощью VBA, чтобы записать явные инструкции, которые должны быть выполнены приложением Excel.

Но VBA предназначен не только для повторяющихся задач. VBA также можно использовать для создания новых возможностей в Excel (например, можно разработать новые алгоритмы анализа данных, а затем воспользоваться возможностями построения диаграмм в Excel для отображения результатов) и для выполнения задач, интегрирующих Excel с другими приложениями Office, такими как Microsoft Access 2010.

VISUAL BASIC FOR APPLICATIONS – это , программирования, поддерживаемый всеми приложениями пакета MS Ofiice, в состав которого входят такие популярные приложения как Microsoft Excel, Microsoft Access, Microsoft PowerPoint, Microsoft Word и другие. Это относительно несложный язык программирования, который очень прост и удобен в освоении и позволяет быстро получить ощутимые результаты – конструировать профессиональные приложения для решения практически любых задач в среде Microsoft Windows.

VBA относится к языкам объектно-ориентированного программирования и включает в себя полноценную интегрированную среду разработки с полным набором специализированных окон, упрощающих проектирование, отладку и тестирование программ.

Этот редактор имеет типичное для приложений Windows окно с панелью меню и набором с панелью инструментов, которые позволяют получить доступ к ряду окон, предоставляющих инструментальные средства для создания программ.

Кроме того, редактор VBA включает специализированные средства для быстрого создания пользовательского интерфейса, что превращает его в визуальную среду разработки приложений.

Редактор VBA активизируется командой СЕРВИС-МАКРОС-РЕДАКТОР VBA или нажатием комбинацией клавиш ALT+F11

Окно редактора VBA включает следующие основные компоненты (рис.1): строка главного меню, панель инструментов, окно проекта, окно свойств, окно редактирования кода, окно конструктора форм.

ГЛАВНОЕ МЕНЮ – это строка текста, расположенная в верхней части окна Visual Basic, и состоит из нескольких пунктов.

Меню ФАЙЛ предназначено для работы с файлами, из которых образуются приложения. В нем можно создавать, сохранять и печатать проекты. Меню ПРАВКА выполняет стандартные операции с буфером обмена – вырезание, копирование и вставка. Они применяются не только к фрагментам программы, но и к управляющим элементам. В меню ВИД включаются режимы просмотра различных компонентов и инструментов. Просматривать можно формы и программные модули. Меню ВСТАВКАпозволяет добавлять процедуры, формы, модули и модули класса. Команды меню ФОРМАТопределяют расположение и размеры элементов и форм. При помощи команд меню ОТЛАДКА можно запустить и остановить приложение, расставить точки прерывания и выбрать просматриваемые объекты, а также выполнить другие операции, помогающие следить за работой приложения. Команды меню ЗАПУСК запускают и останавливают приложение, прерывают и возобновляют выполнение программы, что особенно удобно в процессе отладки. Меню СЕРВИС позволяет включить дополнительные элементы, запустить макросы и настроить параметры редактора. Меню ОКНОпозволяет выстроить окна IDE (каскадное или мозаичное расположение), упорядочить значки свернутых форм, а также создает список, позволяющий быстро перейти к одному из открытых окон IDE. Меню HELP – помощь пользователю. Для быстрого вызова главного меню необходимо нажать клавишу F10.

Читать еще:  Автоматический перерасчет формул excel

ПАНЕЛЬ ИНСТРУМЕНТОВ находится под главным меню (рис. 1.2). Если она отсутствует, необходимо выполнить команду ВИД — ПАНЕЛИ ИНСТРУМЕНТОВ — СТАНДАРТ.

ОКНО ПРОЕКТА напоминает собой окно Проводника Windows, и предназначено для быстрого просмотра составляющих проекта, который объединяет в себе все объекты, составляющие приложение (рис. 1.3). Это стандартные объекты открытого приложения Microsoft Office (документ редактора MS Word, книга и её листы MS Excel), формы, модули и классы.

ОКНО СВОЙСТВ отображает различные атрибуты выделенного объекта (рис. 1.4). Все объекты (формы, управляющие элементы и т.д.) имеют атрибуты, которые изменяют не только внешний вид объекта, но и его поведение. Все эти атрибуты называются свойствами. Следовательно, каждый объект обладает набором свойств.

Окно контрольных значений позволяет просматривать значения контрольных переменных в процессе проверки правильности работы (отладки) проекта, что позволяет находить ошибки в логике работы программ.

Конструктор форм расположен в центре экрана редактора VBA. Здесь выводится либо изображение формы, что позволяет производить визуальное конструирование макета формы и расположенных на ней элементов, либо окно программы.

В таблице представлены все комбинации быстрых клавиш, которые могут быть использованы в редакторе VBA для ускорения работы.

Команда вызова справки идентична команде HELP в Word, Excel и других приложениях. Для того, чтобы открыть главное окно справочной системы VBA необходимо выбрать команду меню HELP-СПРАВКА.

Для того, чтобы получить информацию, относящуюся к конкретному аспекту работу с редакторомVBA или приложением, необходимо выполнить следующие действия:

— выберите команду View-Object Browser или нажатие клавиши F2;

— в раскрывшемся окне обозревателя объекта выберите имя VBA-приложения;

— выделите требуемый объект на панели классов (левая часть обозревателя объектов);

— щелкните на кнопке с вопросительным знаком на панели инструментов обозревателя объектов или нажмите клавишу F1

VBA-Урок 1. Что такое VBA. Основные понятия.

В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.

Что такое VBA?

VBA — язык (расшифровывается как Visual Basic for Application) был разработан компанией Microsoft. Данный язык не является самостоятельным, а предназначен для автоматизации процессов в пакете MS Office. VBA широко используется в Excel, а также в Access, Word и других программах пакета.

VBA — простой язык программирования, которому может научиться любой желающий. Изучив его, вы сможет предоставлять команды Excel, что делать с колонками, строками, значениями в ячейках, перемещать/добавлять/сортировать листы, выводить заранее запрограммированные сообщения, писать свои формулы и функции и т.д. Суть языка заключается в оперировании объектами (что относит его к объектно-ориентированному программированию).

Чтобы работать с VBA кодом, нам нужен редактор, который уже установлен по умолчанию. Вы можете открыть его, нажав комбинацию клавиш » ALT + F11 «.

Объекты (Objects)

Давайте разберем, что же такое объект. Объект — это элемент, структурная частица Excel, а именно: книга, лист, диапазон, ячейка. Данные объекты имеют иерархию, т.е. подчиняются друг другу. Схематично структуру иерархии Excel можно изобразить следующим образом:

Главный объект это Application, что соответствует самой программе Excel. Далее следует Workbooks (книга), Worksheets (лист), Range (диапазон, или отдельная ячейка). Например, чтобы обратиться к ячейке «A1» на листе нам нужно будет прописать следующий путь с учетом иерархии:

Application.Workbooks(«Архив»).Worksheets(«Аркуш1»).Range(«A1»).

Таким образом, мы научились обращаться до наименьшего объекта в Excel — ячейки.

Коллекции (Collections)

В свою очередь объекты имеют «коллекции». Коллекция — это группа объектов одинакового класса. Отдельные элеметы коллекции являются также объектами. Так, объекты Worksheets являются элементами коллекции объекта Worksheet, который содержит также и другие коллекции и объекты:

  • ChartObjects (элемент коллекции объекта ChartObject)
  • Range
  • PageSetup
  • PivotTables (элемент коллекции объекта PivotTable).

Свойства (Properties)

Каждый объект имеет свойства . Например, объект Range имеет свойство Value или Formula.

Worksheets(“Sheet1”).Range(“A1”).Value або Worksheets(“Sheet1”).Range(“A1”).Formula

В данном примере, свойство отображает значение, которое введено в ячейку или введенную формулу.

Также, через свойство Formula можно не только получить формулу, но и записать ее:

MsgBox Range(“A1”).Formula — получим сообщение с формулой в ячейке «А1«;

Range(“B12”).Formula = “=2+6*100” — вписываем формулу =2+6*100 в ячейку B12.

Методи (Methods)

Теперь давайте рассмотрим, каким образом мы можем управлять содержимым диапазона или ячейки. Для этого в VBA существуют, так-называемые методы (команды «что сделать»). При написании кода методы отделяются от объекта точкой, например:

Range(«A1»).Select или Cells(1, 1).Select

Данный метод указывает выбрать (Select) ячейку «A1».
Далее, давайте, удалим значение в данной ячейке. Для этого напишем следующий код:

Selection.ClearContents

Здесь программа «берет» то, что мы выделили (Selection) и удаляет его содержимое (ClearContents ).

Использование возможностей VBA при расчетах в Excel

1.2. изучение возможностей разработки баз данных в Excel.

2. Приборы и оборудование:

2.1. Методические указания.

2.2. ПЭВМ типа IBM PC/XT.

2.4. Visual Basic for Application.

3. Порядок выполнения работы:

3.1. Изучить основные теоретические сведения (Приложение А). Запустите приложение Excel, сохраните документ. Перейдите в редактор VBA.

3.2. Задание 1.Дан табличный документ указанного ниже вида. Необходимо:

1) создать шаблонную часть этого документа с помощью табличного процессора Excel;

2) составить программу на языке VBA, которая будет запрашивать у пользователя исходные данные для заполнения этой таблицы, производить необходимые расчеты и помещать все данные в соответствующие ячейки, предусмотренные в шаблоне.

Рисунок 1 – Таблица заполнения данными.

Технология выполнения

Анализ таблицы показывает, что вид деятельности, прогноз прибыли и фактическая прибыль являются исходными данными, отклонение (в процентах и в сумме) – расчетными. Кроме того, рассчитываются итоги по некоторым графам таблицы.

Создание шаблона табличного документа

Шаблон создается на обычном рабочем листе в Excel. При этом необходимо только зарезервировать свободные ячейки для занесения следующих данных: месяц, год, потребительское общество, сумма издержек, товарооборот, уровень издержек. Поскольку заранее неизвестно количество потребительских обществ, то ячейки для итогов и ФИО экономиста заранее не резервируются. Рабочий лист переименован в Отчет. Реализация такого шаблона представлена на рисунке 2.

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

Рисунок 2 – Шаблон-заготовка табличного документа

Математическая модель решения задачи

Кроме организации ввода исходных данных и вывода их в некоторые ячейки электронной таблицы, программа должна производить расчет отклонений и итоговых значений по графам «Сумма издержек – план», «Сумма издержек – факт», «Товарооборот – план», «Товарооборот – факт», «Уровень издержек – план», «Уровень издержек – факт», «Отклонение по уровню». Для расчетных величин используем следующие переменные:

Nomer – номер текущей строки таблицы; SP – планируемая сумма издержек; SF – фактическая сумма издержек; TP – планируемый товарооборот; TF – фактический товарооборот; IP – планируемый уровень издержек; EF – фактический уровень издержек; ItogSP – накопление итога по столбцу «планируемая сумма издержек»; ItogSF – накопление итога по столбцу «фактическая сумма издержек»; ItogTP – накопление итога по столбцу «планируемый товарооборот»; ItogTF – накопление итога по столбцу «фактический товарооборот»; ItogIP – накопление итога по столбцу «планируемый уровень издержек»; ItogEF – накопление итога по столбцу «фактический уровень издержек».

С учетом введенных обозначений расчетные формулы будут иметь следующий вид:

1) для отклонений: [Отклонение в %] = (F – P) / P * 100, [Отклонение в сумме] = F – P

Результаты этих вычислений можно не сохранять в отдельных переменных, так как они сразу могут быть занесены в соответствующие ячейки электронной таблицы;

Эти формулы реализуют алгоритм получения итоговой суммы методом накопления, когда величина прогноза (факта), соответствующая очередному виду деятельности, добавляется к сумме соответствующих величин по уже рассмотренным видам деятельности. Назовем эти суммы промежуточными. Когда будут обработаны все виды деятельности, промежуточные суммы превратятся в окончательные – итоговые. В начале этого процесса (до того, как будет рассчитываться первая промежуточная сумма) переменные ItogP и ItogF равны нулю;

3) для итогов по отклонениям: [итоговое отклонение в процентах] = (ItogF – ItogP) / ItogP * 100, [итоговое отклонение в сумме] = ItogF – ItogP.

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

Разработка интерфейса пользователя

Каждому текстовому полю поменяем стандартное имя (TextBox) на более понятное (см. рисунок 3):

TextBox1 – MesTextBox – ввод месяца; TextBox2 – YearTextBox – ввод года; TextBox3 – FIOTextBox – ввод фамилии, имени и отчества экономиста; TextBox4 – POTextBox – ввод названия потребительского общества; TextBox5 – SPTextBox – планируемая сумма издержек; TextBox6 – SFTextBox – фактическая сумма издержек; TextBox7 – TPTextBox – планируемый товарооборот; TextBox8 – TFTextBox – фактический товарооборот; TextBox9 – IPTextBox – планируемый уровень издержек; TextBox10 – EFTextBox – фактический уровень издержек.

Рисунок 3 – Разработанная форма в рабочем состоянии

Программа на языке VBA

Const StrNomer = 7 ‘количество строк для заголовка таблицы

Dim Nomer As Long ‘номер очередной строки таблицы (потребительское общество)

Dim ItogSP As Long

Dim ItogSF As Long

Dim ItogTP As Long

Dim ItogTF As Long

Dim ItogIP As Long

Dim ItogEF As Long

Dim StrName1 As String

Dim StrName2 As String

Private Sub UserForm_Initialize()

‘Процедура считывания заголовочных данных и вывода их в ячейки электронной таблицы Private Sub CommandButton3_Click()

ActiveWorkbook.SaveAs («Отклонение фактического уровня издержек обращения от плана за » + MesTextBox.Text + «месяц. xls»)

Private Sub CommandButton2_Click()

StrName1 = Trim(Str(StrNomer + Nomer))

Range(«A» + StrName1).Value = Nomer

Range(«B» + StrName1).Value = POTextBox.Text

Range(«C» + StrName1).Value = SP

ItogSP = ItogSP + SP

Range(«D» + StrName1).Value = SF

ItogSF = ItogSF + SF

Range(«E» + StrName1).Value = TP

ItogTP = ItogTP + TP

Range(«F» + StrName1).Value = TF

ItogTF = ItogTF + TF

Range(«G» + StrName1).Value = IP

ItogIP = ItogIP + IP

Range(«H» + StrName1).Value = EF

ItogEF = ItogEF + EF

Range(«I» + StrName1).Value = EF – IP

StrName2 = Trim(Str(StrNomer + Nomer + 1))

Set Range1 =.Range(«A» + StrName1 +»:I» + StrName1)

Set Range2 =.Range(«A» + StrName1 +»:I» + StrName2)

Range(«A» + StrName2 +»:I» + StrName2).ClearContents

Nomer = Nomer + 1

‘Закрытие формы, подведение итогов и вывод фамилии экономиста

Private Sub CommandButton1_Click()

StrName1 = Trim(Str(StrNomer + Nomer))

Range(«C» + StrName1).Value = ItogSP

Range(«D» + StrName1).Value = ItogSF

Range(«E» + StrName1).Value = ItogTP

Range(«F» + StrName1).Value = ItogTF

Range(«G» + StrName1).Value = ItogIP

Range(«H» + StrName1).Value = ItogEF

Range(«I» + StrName1).Value = ItogEF – ItogIP

StrName2 = Trim(Str(StrNomer + Nomer + 2))

Range(«A» + StrName2).Value = «Экономист

Range(«G» + StrName2).Value = FIOTextBox.Text

Использование программы в режиме выполнения и получения результатов.

Перед запуском программы сохраним рабочую книгу под именем отчет1.xls. Кнопку «Создать отчетную таблицу» следует нажимать один раз после ввода заголовочной информации, кнопка «Добавить строку» нажимается каждый раз после ввода данных по очередному виду деятельности. После ввода всех данных необходимо нажать кнопку «Закончить», а затем переключиться в окно Microsoft Excel. На рабочем листе появится результат, аналогичный рисунку 4.

Рисунок 4 – Шаблон табличного документа, заполненный данными.

3.3. Задание 2. Создать программу, которая по введенным в соответствующие текстовые поля формы данным автоматизирует ввод данных по обслуживанию населения некоторой организацией за определенный период времени. Кроме этого, программа должна вычислять данные по столбцам, отмеченным звездочками. Вывод данных предусмотреть на лист Excel.

3.4. Задание 3.Создать программу, которая по введенным в соответствующие текстовые поля формы данным автоматизирует ввод данных по расчету товарного баланса некоторой организацией, занимающейся торговлей, за определенный период времени. Кроме этого, программа должна вычислять данные по столбцам, отмеченным звездочками. Вывод данных предусмотреть на лист excel.

3.5. Задание 4.Создать программу, которая по введенным в соответствующие текстовые поля формы данным автоматизирует ввод данных на отпуск товара с некоторого склада и формирует счет-фактуру за определенный период времени. Кроме этого, программа должна вычислять данные по столбцам, отмеченным звездочками. Вывод данных предусмотреть на лист excel.

3.6. Создайте кнопку или панель в Вашем проекте для непосредственного вызова приложения. Добавьте комментарии. Текст и результат выполнения программы занести в отчёт.

3.7. Сформулируйте выводы по проделанной работе.

4. Содержание отчёта:

4.3. Приборы и оборудование.

4.4. Порядок выполнения работы.

4.6. Контрольные вопросы.

5. Контрольные вопросы:

5.1. Как создать шаблонную часть документа с помощью табличного процессора Excel?

5.2. Рекомендуемые сочетания первых трех символов имен?

5.3. Как задать количество строк для заголовка таблицы?

5.4.Как считать заголовочные данные и вывести их в ячейки электронной таблицы?

5.5.Как выполнить автозаполнение с текущей строки таблицы на следующую строку?

5.6. Как выполняется очистка полей формы для ввода очередных данных?

Приложение А

Теоретические сведения

Элементы управления

При разработке приложений, кроме рассмотренных ранее элементов управления, можно использовать элемент «полоса прокрутки» и «счетчик». Рассмотрим эти элементы.

Элемент управления ScrollBar (полоса прокрутки) и элемент управления SpinButton (счетчик) по своим функциональным возможностям аналогичны друг другу. Поэтому свойства их рассматриваем совместно.

Value – возвращает текущее значение полосы прокрутки (только целые неотрицательные числа);

Min – минимальное значение полосы прокрутки (только целые неотрицательные числа);

Max – максимальное значение полосы прокрутки (только целые неотрицательные числа);

SmallChange – устанавливает шаг изменения значения при щелчке по одной из стрелок полосы прокрутки;

Enabled – допустимые значения: True (пользователь может изменить значение полосы) и False (в противном случае);

Visible – допустимые значения: True (полоса прокрутки отображается во время выполнения программы) и False (в противном случае).

Создание VBA-программы

При разработке формы будет необходимо выполнять программирование примечаний ячеек листа. Данная процедура выполняется с помощью метода AddComment объекта Range. Этот метод имеет следующий синтаксис: AddComment (Text), где Text – текст комментария.

Ссылка на основную публикацию
Adblock
detector