КАТЕГОРИИ: Архитектура-(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) |
Преобразование номера месяца в его название
Расчет средневзвешенного значения Проверка, была ли сохранена рабочая книга Подсчет количества полных лет Поиск ближайшего понедельника Подсчет количества видимых ячеек в диапазоне Листинг 2.59. Подсчет количества видимых ячеек Function dhCountVisibleCells(rgRange As Range) Dim lngCount As Long Dim cell As Range
' Проходим по всему диапазону и подсчитываем непустые _ видимые ячейки For Each cell In rgRange ' Проверка, есть ли данные в ячейке If Not IsEmpty(cell) Then ' Проверка, видима ли ячейка If Not cell.EntireRow.Hidden And Not _ cell.EntireColumn.Hidden Then ' Еще одна видимая ячейка lngCount = lngCount + 1 End If End If Next cell dhCountVisibleCells = lngCount End Function Листинг 2.60. Ближайший день недели по отношению к дате Function dhGetNextMonday(datDate As Date) As Date ' Определение даты следующего понедельника (функция Weekday _ возвращает номер дня недели, считая от понедельника, если _ в качестве второго аргумента задавать vbMonday) If Weekday(datDate, vbMonday) = 1 Then ' Заданная дата и есть понедельник dhGetNextMonday = datDate Else ' Расчет даты следующего понедельника dhGetNextMonday = datDate + 8 - Weekday(datDate, vbMonday) End If End Function Листинг 2.61. Функция dhCalculateAge Function dhCalculateAge(datDate As Date) As Long Dim lngAge As Long ' Находим разность между текущей датой и указанной (лет) lngAge = DateDiff("yyyy", datDate, Date) If DateSerial(Year(datDate) + lngAge, Month(datDate), _ Day(datDate)) > Date Then ' В этом году день рождения еще не наступил lngAge = lngAge - 1 End If dhCalculateAge = lngAge End Function Листинг 2.62. Функция dhBookIsSaved Function dhBookIsSaved() As Boolean ' Если путь файла рабочей книги не задан, то она _ не сохранена (ThisWorkbook.path равняется "") dhBookIsSaved = ThisWorkbook.path <> "" End Function Листинг 2.63. Расчет средневзвешенного значения Function dhAverageWithWeight(rgWeights As Range, rgValues As Range) _ As Double If (rgWeights.Count <> rgValues.Count) Then ' Количество весов не соответствует количеству аргументов dhAverageWithWeight = 0 Exit Function End If
Dim i As Integer Dim dblSum As Double ' Сумма значений Dim dblSumWeight As Double ' Взвешенная сумма значений
' Вычисление... For i = 1 To rgWeights.Count ' Взвешенной суммы значений dblSumWeight = dblSumWeight + rgWeights(i) * rgValues(i) ' Суммы значений dblSum = dblSum + rgWeights(i) Next
' Возвращение средневзвешенного значения dhAverageWithWeight = dblSumWeight / dblSum End Function Листинг 2.64. Название месяца Function dhMonthName(intMonth As Integer) As String ' Возвращение имени месяца по его номеру (intMonth _ является номером элемента в массиве с названиями месяцев) dhMonthName = Choose(intMonth, "Январь", "Февраль", "Март", _ "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", _ "Октябрь", "Ноябрь", "Декабрь") End Function
Дата добавления: 2015-06-25; Просмотров: 438; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |