Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка к курсовой работе.doc
Скачиваний:
3
Добавлен:
20.11.2019
Размер:
619.52 Кб
Скачать

Задание 7. Сортировка данных Задание 8. Создание ведомости (отчета)

Создайте в рабочей книги 3 листа.

Лист «Прейскурант»:

Лист «Продавцы»:

Лист «Учет»:

Далее подготовьте лист «Выручка», обозначив заголовки столбцов:

Столбец «Выручка» будет рассчитываться Цена*Количество, Столбец «Сумма», будет выдавать суммарную выручку каждого продавца.

Создайте UserForm следующего вида:

ComboBox будет формироваться по листу «Продавцы». После выбора из списка фамилию продавца будет анализироваться таблица «Учет» и все данные о продажах, совершенных выбранным продавцом будут выходить на лист «Выручка».

Программный код привязан к кнопке «Создать ведомость»:

Private Sub CommandButton1_Click()

Application.ScreenUpdating = False

Dim h As Byte

If ComboBox1 = "" Then

h = MsgBox("Для вывода ведомости необходимо выделить из списка Ф.И.О. продавца", vbYes + vbQuestion, "Ведомость")

If h = vbYes Then GoTo 12 Else GoTo e

End If

Dim pr As Object, nx As Object

Dim prez As Object, nex As Object

Dim cur As Object, fol As Object

Dim nam As String, schet As String

Dim Y As Integer, r As Integer, j As Integer

nam = ComboBox1.Text

ActiveWorkbook.Sheets("Учет").Activate

ActiveWorkbook.Sheets("Выручка").Range("d3") = 0

For i = 3 To 15

ActiveWorkbook.Sheets("Выручка").Cells(i, 2) = ""

ActiveWorkbook.Sheets("Выручка").Cells(i, 3) = ""

ActiveWorkbook.Sheets("Выручка").Cells(i, 4) = ""

ActiveWorkbook.Sheets("Выручка").Cells(i, 5) = ""

ActiveWorkbook.Sheets("Выручка").Cells(i, 6) = ""

Next i

Sheets("Учет").Select

Set prez = Sheets("Учет").Range("b2")

Do Until IsEmpty(prez)

If prez = nam Then

kod = prez.Offset(0, 1)

kol = prez.Offset(0, 2)

Else: GoTo 1

End If

Sheets("Прейскурант").Select

Set cur = Sheets("Прейскурант").Range("a2")

Do Until IsEmpty(cur)

If cur = kod Then

namt = cur.Offset(0, 1)

z = cur.Offset(0, 2)

Exit Do

End If

Set fol = cur.Offset(1, 0)

Set cur = fol

Loop

Sheets("Выручка").Select

Set pr = Sheets("Выручка").Range("b3")

Do Until IsEmpty(pr)

Set nx = pr.Offset(1, 0)

Set pr = nx

Loop

Sheets("Выручка").Range("a3") = nam

pr.Value = kod

pr.Offset(0, 1) = namt

pr.Offset(0, 2).Value = z

pr.Offset(0, 3).Value = kol

summ = z * kol

pr.Offset(0, 4).Value = summ

1: Set nex = prez.Offset(1, 0)

Set prez = nex

Loop

Sheets("Выручка").Range("g3").Activate

ActiveCell.FormulaR1C1 = "=SUM(RC[-1]:R[196]C[-1])"

12 ComboBox1 = ""

UserForm1.Hide

e: End Sub

Private Sub UserForm_activate()

Dim pr As Object, X As Object

UserForm1.ComboBox1.Clear

ActiveWorkbook.Sheets("Продавцы").Select

Set pr = ActiveSheet.Range("a2")

Do While Not IsEmpty(pr)

Set X = pr.Offset(1, 0)

ComboBox1.AddItem pr

Set pr = X

Loop

End Sub

Задание 9. Оформление курсовой работы.

  1. Все созданные кнопки для вызова макросов должны быть расположены в верхней части рабочего листа (но не вплотную к основной базе данных). Или на отдельной UserForm. Например:

  1. На каждом рабочем листе скрыть сетку. Для этого вызовете Сервис – Параметры – Убрать флажок «Сетка».

  2. Все таблицы оформить границами и заливкой.

  3. Один из листов должен иметь название «Главное меню» и содержать кнопки перехода на все листы курсовой работы, кнопку выхода из EXCEL, и кнопку «Сведения об авторе». На листе «Главное меню» также скрыть сетку и оформить рисунок подложки. Для этого использовать меню Формат – Лист – Подложка. Кнопку «Сведения об авторе» свяжем с пользовательской формой.

Для этого:

- вызовете редактор Visual Basic с помощью сочетания клавиш Alt+F11

- создайте пользовательскую форму: Insert – UserForm На экране появится форма с набором инструментов:

В левой нижней части найдите окно свойств созданной вами формы:

И измените свойство Caption, вместо UserForm1 напишите «Сведения об авторе»

- выберете инструмент Label (надпись) растяните на форме и внесите все необходимые сведения – название курсовой работы, Фамилию, имя автора и т.д.

Например, вы получите:

Для того чтобы эта форма появлялась на экране вернитесь в EXCEL, на лист «Главное меню». Создайте макрос Сервис – Макрос – Начать запись. Дайте макросу имя «Автор». Нажмите «Относительная ссылка» и Остановите запись.

Затем Сервис – Макрос – Макросы (выберете макрос «Автор») – войти. Вы попали в стандартный модуль Visual Basic:

Sub Автор()

' Макрос записан

End Sub

Необходимо добавить строчку: UserForm1.Show:

Sub Автор()

'

' Автор. Макрос

UserForm1.Show

End Sub

Затем вернитесь в EXCEL на лист «Главное меню». Через панель инструментов «Формы» создайте кнопку, дайте ей имя «Сведения об авторе» и привяжите макрос «Автор».

  1. При загрузке курсовой работы все листы должны быть скрыты (кроме листа «Главное меню» и автоматически должен загружаться лист «Главное меню». Для этого через меню Формат – Лист – Скрыть скройте все рабочие листы курсовой работы. Войдите в редактор Visual Basic (Alt+F11). И справа в окне проекта:

Сделайте двойной щелчок на элементе «Эта книга» или – если версия английская – This Books. Вы попали в окно редактирования кода. Наберите следующую программу:

Private Sub Workbook_Open()

Sheets("Главное меню").Activate

MsgBox "Вас приветствует информационно- аналитическая система...."

End Sub