Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 320; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.