Сторінка
8

Автоматизацiя контролю вiдвiдування студентами занять

5. Функція СЧЁТЗ

Підраховує кількість не порожніх значень в списку аргументів. Функція СЧЁТЗ використовується для підрахунку кількості комірок з даними в інтервалі чи масиві.

Синтаксис

СЧЁТЗ(значение1; значение2; .)

Значение1, значение2, . – це від 1 до 30 аргументів, кількість яких потрібно підрахувати. В даному випадку значеннями вважається значення любого типу, включаючи порожній рядок (""), але не включаючи порожні комірки. Якщо аргументом є масив чи ссилка, то порожні комірки в масиві чи ссилці ігноруються.

Макрос клавіші “Ок” на листі “Списки”

Реакція програми на натиснення клавіші “Ok”:

· Перегляд комірок в діапазоні С3:IV3 і виправлення в них номерів груп (контроль за їх довжиною)

· Сортування списків студентів по номеру групи

· Підбір ширини колонок із списками груп

· Установка списку вибору номерів груп в ComboBox1 на листі «Ввід»

Private Sub CommandButton1_Click()

For Each w In Range("C3:IV3")

If w.Value <> "" Then

w.Value = Mid(w.Value, 1, 3)

If Len(w.Value) < 3 Then w.Value = String(3 - Len(w.Value), "0") + Mid(Str(w.Value), 2)

End If

Next

Range("C3:IV100").Sort Key1:=Range("C3"), Order1:=xlAscending, Header:=xlGuess, _

OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight

Range("C3:IV3").Copy

Range("A4").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

False, Transpose:=True

Лист1.ComboBox1.ListFillRange = "Списки!A4:A" + Mid(Str(Range("E1").Value + 3), 2)

Columns("C:IV").Columns.AutoFit

End Sub

Макрос клавіші “Вивести” на листі “Ввід”

Реакція програми на натиснення клавіші “Вивести”:

· Перегляд назв всіх листів у книзі з метою встановлення наявності вибраного листа

· В випадку відсутності вибраного листа виконується його автоматичне створення

o Створення заголовка таблиці

o Вибір кольору

o Підбір ширини комірок

o Запис формул в лист

· Копіювання даних з заданого листа на лист “Ввід” і включення виводу списка студентів на листі

· Відключення елементів вибору групи і місяця, відключення клавіші “Вивести”, включення клавіш “Очистити” і “Зберегти”

Private Sub CommandButton1_Click()

Found = False

Find = Range("A3").Value2 + "-" + Range("A2").Value2

For Each Wh In Worksheets

If Wh.Name = Find Then Found = True

Next

If Found = False Then

' СТВОРЕННЯ НОВОГО ЛИСТА

Sheets.Add after:=Sheets(Sheets.Count)

ActiveSheet.Name = Find

Sheets("Ввід").Activate

Sheets(Find).Rows("1:2").Font.Bold = True

'№ п/п

Sheets(Find).Range("A2").FormulaR1C1 = "№ п/п"

Sheets(Find).Columns("A:A").HorizontalAlignment = xlCenter

Sheets(Find).Range("A3").FormulaR1C1 = _

"=IF(OR(RC[1]="""",RC[1]=""ВСЬОГО""),"""",IF(R[-1]C=""№ п/п"",1,R[-1]C+1))"

Sheets(Find).Range("A3").AutoFill Destination:=Sheets(Find).Range("A3:A50"), Type:=xlFillDefault

Sheets(Find).Columns("A:A").ColumnWidth = 6

'прізвище

Sheets(Find).Range("B2").FormulaR1C1 = "Прізвище"

Sheets(Find).Columns("B:B").ColumnWidth = 15

Sheets(Find).Range("B3").FormulaR1C1 = _

"=IF(LOOKUP(""" + Лист1.Range("A2") + """,Списки!R3C3:R3C256, Списки!R[1]C[1]:R[1]C[254])=0,IF(AND(R[-1]C<>""ВСЬОГО"",R[-1]C<>""""),""ВСЬОГО"",""""),LOOKUP(""" + Лист1.Range("A2") + """,Списки!R3C3:R3C256,Списки!R[1]C[1]:R[1]C[254]))"

Sheets(Find).Range("B3").AutoFill Destination:=Sheets(Find).Range("B3:B50"), Type:=xlFillDefault

'дні

Sheets(Find).Range("C2").Value = "1"

Sheets(Find).Range("C2").AutoFill Destination:=Sheets(Find).Range("C2:AG2"), Type:= _

xlFillSeries

Sheets(Find).Columns("C:AG").ColumnWidth = 2

'назва місяця

Sheets(Find).Range("C1:AG1").Merge

Sheets(Find).Range("C1:AG1").HorizontalAlignment = xlCenter

Sheets(Find).Range("C1").Value = Лист1.Range("A4").Value

'група

Sheets(Find).Range("B1").Value = "Група № " + Range("A2").Value

'Колір

Sheets(Find).Range("A1:AI2,A:A").Interior.ColorIndex = 4

Sheets(Find).Range("A1:AI2,A:A").Interior.Pattern = xlSolid

'Всього

Sheets(Find).Range("AH1:AI2").HorizontalAlignment = xlCenter

Sheets(Find).Range("AH1:AI1").Merge

Sheets(Find).Range("AH1:AI1").FormulaR1C1 = "Всього"

Sheets(Find).Range("AH2").FormulaR1C1 = "Б"

Sheets(Find).Range("AI2").FormulaR1C1 = "П"

Перейти на сторінку номер:
 1  2  3  4  5  6  7  8  9  10  11 


Інші реферати на тему «Інформатика»: