|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - По введенному времени определить количество часов до конца дня. |
|
VBA - По введенному времени определить количество часов до конца дня.
|
Новый участник Сообщения: 13 |
Профиль | Отправить PM | Цитировать По введенному времени определить количество часов до конца дня.
|
|
Отправлено: 22:24, 31-01-2011 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Дашка, я вроде бы уже предупреждал. Сначала на форуме предлагают свой вариант решения проблемы, и только потом мы разбираем, что не получилось.
Если не будет варианта решения, тема будет закрыта, а заодно и все последующие в подобном виде. Мы не фрилансеры, чтобы решать за тебя твои контрольные. |
------- Отправлено: 06:11, 01-02-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 120
|
Дашка, я не пойму что уже сезон контрольных работ снова начался? (Вам надо на форум фрилансеров, или на доску объявлений по решению задач), но на сей раз в виде исключения - держите:
функция для корректного написания обозначения числа в виде текста Public Function fnNum2Word(ByVal inp As Long, ByVal fir As String, ByVal sec As String, ByVal many As String) As String Dim tmp As String tmp = Format$(inp, "000") If Len(tmp) > 2 Then tmp = Mid(tmp, Len(tmp) - 1, 2) Select Case Val(Mid(tmp, 1, 1) & "") Case 1 Select Case Val(Mid(tmp, 2, 1) & "") Case 0 To 9 fnNum2Word = many End Select Case 0, 2 To 9 Select Case Val(Mid(tmp, 2, 1) & "") Case 1 fnNum2Word = fir Case 2 To 4 fnNum2Word = sec Case 0, 5 To 9 fnNum2Word = many End Select End Select End Function Sub RunTask() Dim inp As String Const EndOfWorkDay = 18 'Время завершения рабочего дня Const EndOfSunDay = 24 'Время завершения суток inp = InputBox("Введите время в формате чч - двухзначное представление часа", "Введите время", Format$(Now(), "hh")) Debug.Print "До конца рабочего дня осталось " & (EndOfWorkDay - Val(inp)) & " " & fnNum2Word((EndOfWorkDay - Val(inp)), "час", "часа", "часов") Debug.Print "До конца суток осталось " & (EndOfSunDay - Val(inp)) & " " & fnNum2Word((EndOfSunDay - Val(inp)), "час", "часа", "часов") End Sub |
Отправлено: 09:11, 01-02-2011 | #3 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать по введенному времени определить количество часов до конца дня.
Sub asdfhjkl() Dim a As Date Dim b As Date Dim c As Date Dim t As Date h = Hour(a) 'переменной присваиваются часы m = Minute(b) 'переменной присваиваются минуты s = Second(c) 'переменной присваиваются секунды papday = DateSerial(a, b, c) h1 = InputBox("введите часы окончания дня") m1 = InputBox("введите минуты окончания дня") s1 = InputBox("введите секунды окончания дня") h2 = InputBox("введите настоящее время (часы)") m2 = InputBox("введите настоящее время (минуты)") s2 = InputBox("введите настоящее время (секунды)") x = h1 - h2 y = m1 - m2 Z = s1 - s2 c = DateSerial(year1, month1, day1) 'формирование даты MsgBox ("Ответ= " & DateDiff("x", papday, a) & " часов") MsgBox ("Ответ= " & DateDiff("y", papday, a) & " минут") MsgBox ("Ответ= " & DateDiff("z", papday, a) & " секунд") End Sub |
Последний раз редактировалось Delirium, 08-02-2011 в 01:19. Причина: Привел код в удобоваримый вид. Отправлено: 20:11, 07-02-2011 | #4 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Дашка, предупреждение: код надо оформлять в нормальном виде, а не одной строкой.
И я не вижу описания, что не работает. Если Вы будете продолжать в таком же духе, учетная запись будет забанена на неделю для изучения правил форума. |
|
------- Отправлено: 01:17, 08-02-2011 | #5 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Цитата Дашка:
Цитата Дашка:
|
||
------- Отправлено: 07:49, 08-02-2011 | #6 |
Пользователь Сообщения: 120
|
Дашка, зачем темы то плодить, было уже это и причем Вы же её и создали
|
Отправлено: 09:10, 21-02-2011 | #7 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать И правда, недосмотрел. Тема скрепляется с дублем.
|
------- Отправлено: 09:22, 21-02-2011 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как определить количество установленной памяти в ХР с помошью .cmd .bat? | xaosxaos | Скриптовые языки администрирования Windows | 17 | 28-03-2017 23:57 | |
CMD/BAT - [решено] можно ли определить количество параметров команды? | GoodFella | Скриптовые языки администрирования Windows | 8 | 08-12-2010 15:29 | |
Произведения на злобу дня | paulkorotoon | Флейм | 0 | 08-12-2009 21:35 | |
Разное - Можно ли изменить отображение времени (часов), добавив дату и день недели? | truvo | Оформление Windows XP | 17 | 13-03-2009 10:10 | |
Тема дня, невозможное возможно. | Ment69 | О сайте и форуме | 4 | 14-02-2007 12:03 |
|