Дополните код оставшимися операциями.




ЛАБОРАТОРНАЯ РАБОТА №7

РАБОТА С МАКРОСАМИ В MS EXCEL

Задание №1

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

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

 

Sub Auto_Open()

Dim N As Integer

N = InputBox("Сколько студентов в группе?")

ActiveSheet.Name = "Рейтинги"

Dim S As String

S = "A1:G" & CStr(N + 1)

Worksheets("Рейтинги").ScrollArea = S

Worksheets("Рейтинги").Range("A1").Value = "Фамилия Имя"

Worksheets("Рейтинги").Range("B1").Value = "Номер зачетной книжки"

Dim TestName As String

TestName = InputBox("Название экзамена")

Worksheets("Рейтинги").Range("C1").Value = TestName

TestName = InputBox("Название экзамена ")

Worksheets("Рейтинги").Range("D1").Value = TestName

TestName = InputBox("Название экзамена ")

Worksheets("Рейтинги").Range("E1").Value = TestName

TestName = InputBox("Название экзамена ")

Worksheets("Рейтинги").Range("F1").Value = TestName

Worksheets("Рейтинги").Range("G1").Value = " Рейтинги"

Worksheets("Рейтинги").Range("A1:G1").HorizontalAlignment = xlCenter

Worksheets("Рейтинги").Range("A1:G1").Font.Bold = True

Worksheets("Рейтинги").Range(S).Borders.LineStyle = xlSolid

Worksheets("Рейтинги").Range(S).Borders.Color = RGB(0, 0, 120)

Range("A1:G1").Interior.ColorIndex = 15

 

End Sub

 

Теперь пользователь может вводить данные, но лишь в те ячейки, которые указаны в ScrollArea.


ЛАБОРАТОРНАЯ РАБОТА №7

РАБОТА С МАКРОСАМИ В MS EXCEL

Задание №1

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

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

 

Sub Auto_Open()

Dim N As Integer

N = InputBox("Сколько студентов в группе?")

ActiveSheet.Name = "Рейтинги"

Dim S As String

S = "A1:G" & CStr(N + 1)

Worksheets("Рейтинги").ScrollArea = S

Worksheets("Рейтинги").Range("A1").Value = "Фамилия Имя"

Worksheets("Рейтинги").Range("B1").Value = "Номер зачетной книжки"

Dim TestName As String

TestName = InputBox("Название экзамена")

Worksheets("Рейтинги").Range("C1").Value = TestName

TestName = InputBox("Название экзамена ")

Worksheets("Рейтинги").Range("D1").Value = TestName

TestName = InputBox("Название экзамена ")

Worksheets("Рейтинги").Range("E1").Value = TestName

TestName = InputBox("Название экзамена ")

Worksheets("Рейтинги").Range("F1").Value = TestName

Worksheets("Рейтинги").Range("G1").Value = " Рейтинги"

Worksheets("Рейтинги").Range("A1:G1").HorizontalAlignment = xlCenter

Worksheets("Рейтинги").Range("A1:G1").Font.Bold = True

Worksheets("Рейтинги").Range(S).Borders.LineStyle = xlSolid

Worksheets("Рейтинги").Range(S).Borders.Color = RGB(0, 0, 120)

Range("A1:G1").Interior.ColorIndex = 15

 

End Sub

 

Теперь пользователь может вводить данные, но лишь в те ячейки, которые указаны в ScrollArea.


Задание №2

Добавьте вычисление рейтинга и назначьте новому макросу сочетание клавиш Ctrl+i.

Sub Go()

Dim i As Integer

For i = 2 To N + 1

With Worksheets("Рейтинги")

Range("G" & CStr(i)).Formula = "=(C" & CStr(i) & "+D" & CStr(i) & "+E" & CStr(i) & "+F" & CStr(i) & ")/4"

End With

Next i

End Sub

 

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

 

Задание №3

В первую процедуру добавьте подсказку для пользователя:

Worksheets("Рейтинги").Range("K2").Value = "Введите фамилии и экзаменационные баллы. Затем нажмите комбинацию клавиш Ctrl+i"

Worksheets("Рейтинги").Range("K2").Font.Color = RGB(120, 0, 0)

Worksheets("Рейтинги").Range("K2:N5").Merge

Worksheets("Рейтинги").Range("K2").WrapText = True

 

Дополните код оставшимися операциями.

 

Итог работы:

 


Задание №2

Добавьте вычисление рейтинга и назначьте новому макросу сочетание клавиш Ctrl+i.

Sub Go()

Dim i As Integer

For i = 2 To N + 1

With Worksheets("Рейтинги")

Range("G" & CStr(i)).Formula = "=(C" & CStr(i) & "+D" & CStr(i) & "+E" & CStr(i) & "+F" & CStr(i) & ")/4"

End With

Next i

End Sub

 

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

 

Задание №3

В первую процедуру добавьте подсказку для пользователя:

Worksheets("Рейтинги").Range("K2").Value = "Введите фамилии и экзаменационные баллы. Затем нажмите комбинацию клавиш Ctrl+i"

Worksheets("Рейтинги").Range("K2").Font.Color = RGB(120, 0, 0)

Worksheets("Рейтинги").Range("K2:N5").Merge

Worksheets("Рейтинги").Range("K2").WrapText = True

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: