Смекни!
smekni.com

Решение экономических и бухгалтерских задач с использованием инструментария Visual Basic For Application (стр. 3 из 3)

Sub Макрос1Сортировка ()

'

' Макрос1Сортировка Макрос

'

'

Sheets ("Лист5"). Select

Range ("A2: H17"). Select

Selection. Copy

Sheets ("Лист7"). Select

Range ("A2: A3"). Select

ActiveSheet. Paste

Application. CutCopyMode = False

Range ("A5: H17"). Select

ActiveWorkbook. Worksheets ("Лист7"). Sort. SortFields. Clear

ActiveWorkbook. Worksheets ("Лист7"). Sort. SortFields. Add Key: =Range ("A5"), _

SortOn: =xlSortOnValues, Order: =xlAscending, DataOption: =xlSortNormal

With ActiveWorkbook. Worksheets ("Лист7"). Sort

. SetRange Range ("A4: H17")

. Header = xlYes

. MatchCase = True

. Orientation = xlTopToBottom

. SortMethod = xlPinYin

. Apply

End With

End Sub

Рис.7. Данные таблицы после авто-сортировки

10. Выборка данных

Создать отчёт по выборке с Листа5 по столбцу "Качественная успеваемость, проц." (с Листа 8, табл.7)

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

Определить количество элементов нового массива по заданному условию введя переменную с помощью оператора InputBox

Объявить и переобъявить новый массив

Сформировать новый массив. Для этого необходимо задать номер первого элемента нового массива u=1. Затем выполняется цикл, в котором записывается условие выборки по столбцу "Качественная успеваемость, проц. ". Если результат проверки истина, то элемент анализируемого массива становится элементом нового массива.

Вывести новый элемент на Лист 8

Sub ОтчётВыборка ()

Sheets ("Лист8"). Select

Dim A () As Variant

n1 = Sheets ("Лист4"). Cells (5,12)

m = Sheets ("Лист2"). Cells (5,12)

ReDim A (1 To n1, 1 To m)

VVOD "Лист5", A, n1, m, 4

C = InputBox ("Введите условие ")

Sheets ("Лист8"). Cells (5,11) = C

d = 0

For i = 1 To n1

If A (i,

8) > Sheets ("Лист8"). Cells (5,11) Then

d = d + 1

End If

Next i

Sheets ("Лист8"). Cells (5,10) = d

Dim B () As Variant

ReDim B (1 To d, 1 To m)

u = 1

For i = 1 To n1

If A (i,

8) > Sheets ("Лист8"). Cells (5,11) Then

For j = 1 To m

B (u, j) = A (i, j)

Next j

u = u + 1

End If

Next i

S = 0

For i = 1 To d

For j = 1 To m

Sheets ("Лист8"). Cells (i + 4, j) = B (i, j)

Next j

Next i

End Sub

Рис.6. Данные таблицы после выборки

11. Создание автоматического макроса по выборке

Включаем запись макроса. Сервис→Макрос→Начать запись→ОК. Появится квадрат, где кнопка остановить запись. На Листе5 (отчет) выделяем таблицу без заголовков и итогов, копируем на Лист10 (автовыборка). Выделяем таблицу без заголовков и в элементе меню, выбираем Данные→Фильтр→Автофильтр→выбираем условие→ОК. Отмечаем столбец по которому будем сортировать. Завершаем работу макроса.

Sub Макрос2Выборка ()

'

' Макрос2Выборка Макрос

'

'

Sheets ("Лист5"). Select

Selection. Copy

Sheets ("Лист9"). Select

ActiveSheet. Paste

Range ("H5: H17"). Select

Application. CutCopyMode = False

Selection. AutoFilter

ActiveSheet. Range ("$H$5: $H$17"). AutoFilter Field: =1, Criteria1: =">80", _

Operator: =xlAnd

Range ("G22"). Select

End Sub

Рис.7. Данные таблицы после авто-выборки

12. Определение максимального и минимального значения

Определить max и min значения по столбцам "Итого", "Абсолютная успеваемость, проц. ", "Качественная успеваемость" (таблица 9, лист 10)

Для определения max и min значений необходимо выполнить следующие действия:

Задать эталоновую переменную, которая будет текущем минимумом (максимумом)

Поочерёдно сравнивается каждый элемент совокупности с текущем минимумом (максимумом), и если этот элемент не удовлетворяет условиям поиска (в случаи минимума он больше, а в случае максимума - меньше), то происходит замена значения эталона на значение сравниваемого элемента

После полного просмотра всех элементов в переменной текущего минимума (максимума) находится действительный минимум (максимум)

Значение минимума (максимума) выводятся в соответствующие ячейки

Sub minmax ()

Dim A () As Variant

n1 = Sheets ("Лист4"). Cells (5,12)

m = Sheets ("Лист2"). Cells (5,12)

ReDim A (1 To n1, 1 To m)

VVOD "Лист5", A, n1, m, 4

VIVOD "Лист10", A, n1, m, 4

VVOD "Лист10", A, n1, m, 4

For j = 3 To m

maxA = 0.00001

minA = 1000000

For i = 1 To n1

If A (i, j) > maxA Then

maxA = A (i, j)

End If

If A (i, j) < minA Then

minA = A (i, j)

End If

Next i

Sheets ("Лист10"). Cells (i + 4 + 2, j) = maxA

Sheets ("Лист10"). Cells (i + 4 + 3, j) = minA

Next j

End Sub

Рис.8. Данные таблицы после определения мин. и макс.

13. Создание диаграмм (гистограмма, круговая, смешанная)

Для создания диаграмм необходимо выбрать мастер диаграмм: Вставка-Диаграмма

или с помощь. Значка Диаграмма на панели инструментов.

Построение диаграммы состоит в выполнении четырёх шагов:

Выбор типа диаграмм

Задание диапазона

Записать параметры диаграммы заполнив строки заголовков

Размещение диаграммы

Рис.9. Диаграммы

14. Создание управляющих кнопок

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

Для создания кнопки необходимо выполнить следующее: элемент меню Вид → Панель инструментов → Формы. В появившейся панели форм выбирается значок, отвечающий за создание кнопки. Нажав на значок левой клавишей мыши, на листе вместо курсора появляется знак "+", который необходимо подвести на то место, где "+" вычерчивает прямоугольник, в нем фиксируется запись "кнопка 1". Аналогично создаются все кнопки управления. Для запуска любой программы не нужно заходить в Visual Basic, достаточно щелкнуть кнопку с ее названием.

После создания кнопок, кнопки можно отредактировать, переименовать, выбрать нужный шрифт, его размер. Для этого вызывается контекстное меню, в нем формат объекта.

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

щелкнуть правой клавишей мыши по кнопке для появления контекстного меню;

выбрать элемент меню "назначить макрос", появляется окно диалога под названием "назначить макрос объекту";

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

ОК.

Для активизации листа в каждой программе нужно написать команду: Sheets ("ЛистN"). Select

Рис.10. Экран управляющих кнопок

15. Автоматический макрос Гашение

Для того чтобы произвести гашение данных необходимо выполнить следующие действия:

Включаем запись макроса

Выделяем диапазон гашения и нажимаем кнопку Delete.

Завершаем работу макроса.

Создаем кнопку "Гашение" и присваиваем ей соответствующий макрос.

Заключение

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

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

Список использованной литературы

1. Александр Левин. Самоучитель работы на компьютере.7-е издание. -

М.: 2002

2. Хорев В.Д. Самоучитель программирования на VBA в Microsoft Office. - Киев: Юниор, 2001 г. - 320 с.

3. Уэллс Э., Харшбаргер С. Microsoft Excel 97. - М.: 1998.

4. Макарова Е.А., Швецова М.Н. Решение экономических задач и бухгалтерских задач с использованием инструментария VBA: метод. указ. и задания к выполнению курсовой работы, лабораторных работ по курсу "Информатика". - Новосибирск: Изд-во СГУПСа, 2008 г. - 47 с.

5. Конспекты лекций по информатике