КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Составление списка многодетных семей на другом листеСортировка данных по фамилии и инициалам Поиск данных о сотруднике по его фамилии и инициалам
Математическая модель Ввод фамилии сотрудника - Фамилия flag = 0 Для i = 1.. k-1, если Фамилия = A1i, то выделение i-й строки желтым цветом и flag = 1 Если flag = 0,то вывод сообщения "Сотрудника в списке нет " Схема алгоритма
Код приложения
Фамилия= InputBox("Введите фамилию сотрудника", "Выборка") flag = 0
' Отмена окраски строки Range(Cells(2, 1), Cells(k - 1, 8)).Select Selection.Interior.ColorIndex = xlColorIndexNone For i = 1 To k - 1 If Range("a1").Offset(i).Value = Trim(Фамилия) Then ' Окраска строки Range(Cells(i + 1, 1), Cells(i + 1, 8)).Select Selection.Interior.ColorIndex = 6 flag = 1 End If Next If flag = 0 Then MsgBox "Сотрудника " & Фамилия & " нет" End If
' Выделение диапазона Range(Cells(1, 1), Cells(k - 1, 8)).Select ' Обращение к методу Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Математическая модель
Ввести количество детей, соответствующее статусу многодетной семьи - deti q = 0; Для i = 1..k-1, если Детиi > deti, то q = q + 1; spisq = Фамилияi Если q = 0, то вывод сообщения "Многодетных семей нет" Схема алгоритма
Код приложения
Dim spis() As String, deti As Integer ' Подсчет количества заполненных строк на рабочем листе с именем Лист2 и его очистка Worksheets("Лист2").Activate strok = Range("a1").CurrentRegion.Rows.Count Worksheets("Лист2").Columns("a").Clear deti = InputBox("Введите количество детей, соответствующих статусу многодетной семьи ", "Выборка")
' Формирование списка многодетных семей q = 0 ReDim spis(1 To k -1) For i = 1 To k - 1 If Range("e1").Offset(i).Value > deti Then q = q + 1 spis(q) = Range("a1").Offset(i).Value End If Next If q = 0 Then MsgBox "Многодетных семей нет" Else If MsgBox("Выводить список сотрудников?", vbYesNo Or vbQuestion, "Выборка") = vbYes Then ' Форматирование ячеек рабочего листа с именем Лист2 для вывода списка сотрудников Sheets("Лист2").Range("a1").Font.Size = 14 Sheets("Лист2").Range("a1").Font.FontStyle = Bold Sheets("Лист2").Range("a1").Value = "Список сотрудников, имеющих больше " & deti & " детей" ' Вывод на рабочий лист с именем Лист2 списка сотрудников For i = 1 To q Sheets("Лист2").Range("a1").Offset(i).Value = spis(i) Next End If End If
Примечание. Очистка диапазона другим способом For i = 1 To strok Sheets("Лист2").Range("a1").Offset(i - 1, 0).Value = "" Next
Полный текст кода приложения, реализующего функции рассматриваемой информационной технологии, приведен в приложении, а на вклейке - вид рабочего листа с элементами управления для запуска на выполнение этих функций.
Дата добавления: 2014-12-27; Просмотров: 323; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |