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. Данные таблицы после авто-сортировки
Создать отчёт по выборке с Листа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. Данные таблицы после выборки
Включаем запись макроса. Сервис→Макрос→Начать запись→ОК. Появится квадрат, где кнопка остановить запись. На Листе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. Данные таблицы после авто-выборки
Определить 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. Данные таблицы после определения мин. и макс.
Для создания диаграмм необходимо выбрать мастер диаграмм: Вставка-Диаграмма
или с помощь. Значка Диаграмма на панели инструментов.
Построение диаграммы состоит в выполнении четырёх шагов:
Выбор типа диаграмм
Задание диапазона
Записать параметры диаграммы заполнив строки заголовков
Размещение диаграммы
Рис.9. Диаграммы
Для удобства вызова и работы с программами целесообразно использовать управляющие кнопки для каждой программы.
Для создания кнопки необходимо выполнить следующее: элемент меню Вид → Панель инструментов → Формы. В появившейся панели форм выбирается значок, отвечающий за создание кнопки. Нажав на значок левой клавишей мыши, на листе вместо курсора появляется знак "+", который необходимо подвести на то место, где "+" вычерчивает прямоугольник, в нем фиксируется запись "кнопка 1". Аналогично создаются все кнопки управления. Для запуска любой программы не нужно заходить в Visual Basic, достаточно щелкнуть кнопку с ее названием.
После создания кнопок, кнопки можно отредактировать, переименовать, выбрать нужный шрифт, его размер. Для этого вызывается контекстное меню, в нем формат объекта.
Для того чтобы при нажатии кнопки происходила активизация программы, необходимо соединить (увязать) соответствующий макрос (программу) с кнопкой. При этом выполняются следующие действия:
щелкнуть правой клавишей мыши по кнопке для появления контекстного меню;
выбрать элемент меню "назначить макрос", появляется окно диалога под названием "назначить макрос объекту";
выбрать и подщелкнуть левой клавишей мыши нужное имя макроса, за активизацию которого и будет отвечать создаваемая кнопка;
ОК.
Для активизации листа в каждой программе нужно написать команду: Sheets ("ЛистN"). Select
Рис.10. Экран управляющих кнопок
Для того чтобы произвести гашение данных необходимо выполнить следующие действия:
Включаем запись макроса
Выделяем диапазон гашения и нажимаем кнопку Delete.
Завершаем работу макроса.
Создаем кнопку "Гашение" и присваиваем ей соответствующий макрос.
В данной работе были рассмотрены основы программирования в среде VBA на примере решения экономических задач с использованием инструментария, макросов, операторов, функций и различных возможностей Exel
Таким образом, курсовая работа помогла приобрести опыт, касающийся работы в электронных таблицах Excel и базовых принципов программирования в среде VBA.
1. Александр Левин. Самоучитель работы на компьютере.7-е издание. -
М.: 2002
2. Хорев В.Д. Самоучитель программирования на VBA в Microsoft Office. - Киев: Юниор, 2001 г. - 320 с.
3. Уэллс Э., Харшбаргер С. Microsoft Excel 97. - М.: 1998.
4. Макарова Е.А., Швецова М.Н. Решение экономических задач и бухгалтерских задач с использованием инструментария VBA: метод. указ. и задания к выполнению курсовой работы, лабораторных работ по курсу "Информатика". - Новосибирск: Изд-во СГУПСа, 2008 г. - 47 с.
5. Конспекты лекций по информатике