Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 1
Регистрация: 27.01.2011
Сообщений: 38
1

Как заставить вывести Excel время из таблицы

07.01.2012, 21:52. Показов 2264. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу курсовую по excel.

Проблема в том, что в Combobox нужно вывести время из списка значений, и при выборе значения он зачем-то его переводит в десятичную дробь.
Поигрался с Format, но добился лишь вывода текущего времени.

Вопрос:
Как заставить вывести excel время из таблицы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2012, 21:52
Ответы с готовыми решениями:

Как занести переменные ip и время посещения в бд, и вывести их на другой страницу в виде таблицы
У меня есть переменная doublecode в виде двоичного кода, которая генерируется для каждого...

Заставить время работать как надо ))))
Суть проблемы: Сущ таблица Т_Заказы, для ее заполнения сущ форма Ф_Заказы. В таблице есть графа...

Как заставить поле правильно считать время
Добрый день! Подскажите ,как решить следующую проблемку, буду очень признателен. Access 2007 В ...

Как заставить кнопку двигаться во время работы (MFC)?
Как программно во время работы моей программы, при нажатии по какой-нибудь кнопке или циклом ...

7
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
08.01.2012, 01:14 2
Не используйте RowSource, а сформируйте список комбобокса из текстовых значений при инициализации формы.
Допустим, список в диапазоне А1:А10. Можно использовать цикл:
Visual Basic
1
2
3
4
5
6
Private Sub UserForm_Initialize()
Dim x
For Each x In [A1:A10].Value
    ComboBox1.AddItem Format(x, "hh:mm")
Next
End Sub
или функции листа, без цикла:
Visual Basic
1
2
3
Private Sub UserForm_Initialize()
ComboBox1.List = [INDEX(TEXT(A1:A10,"hh:mm"),)]
End Sub
1
0 / 0 / 1
Регистрация: 27.01.2011
Сообщений: 38
08.01.2012, 19:46  [ТС] 3
Добавлено через 18 минут
Visual Basic
1
2
3
4
5
6
Private Sub UserForm_Initialize()
Dim x
For Each x In [A14:A19].Value
ComboBox2.AddItem Format(x, "hh:nn")
Next
End Sub
Заработало, но в комбобоксе пишет "00"01". Подозреваю, что значения он не берет.
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
08.01.2012, 20:39 4
Строку:
Visual Basic
1
ComboBox2.AddItem Format(x, "hh:nn")
заменить на:
Visual Basic
1
ComboBox2.AddItem Format(x, "hh:mm)
Добавлено через 1 минуту
Точнее
Visual Basic
1
ComboBox2.AddItem Format(x, "hh:mm")
0
0 / 0 / 1
Регистрация: 27.01.2011
Сообщений: 38
08.01.2012, 20:56  [ТС] 5
Теперь комбобокс пуст, писало "00@01" из-за того, что в Combobox_Change() написал пару параметров.
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
08.01.2012, 23:21 6
Странно. Попробуйте с секундами:
Visual Basic
1
ComboBox2.AddItem Format(x, "hh:mm:ss")
А вообще Excel у Вас время в формате 11:22:33 понимает? Может, с региональными установками что-то наворочено?

Ну или файл в студию.
0
0 / 0 / 1
Регистрация: 27.01.2011
Сообщений: 38
10.01.2012, 19:53  [ТС] 7
Файл вот, требуемое в Userform2.
Также, это мой первый проект на VBA, так что все очень и очень криво написано.
Вложения
Тип файла: xls trenazh.xls (84.0 Кб, 31 просмотров)
0
0 / 0 / 1
Регистрация: 27.01.2011
Сообщений: 38
10.01.2012, 21:38  [ТС] 8
Так как тороплюсь сдать, сделал все через слова по типу "Один час дня" вместо "13:00". К пересдаче переделаю.
0
10.01.2012, 21:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2012, 21:38
Помогаю со студенческими работами здесь

Как заставить Excel считать +4% ежегодно
Здравствуйте! Не знаю как решить следующую задачу: имеется сумма скажем 100 руб в 2017 году...

Как заставить программу выполнять какое-то действие в нужное время?
Как заставить программу выполнять какое-то действие в нужное время например в 17:00 не учитывая...

Как заставить rundll32 выполнять DLL-библиотеку, продолжительное время?
Суть проблемы такова: я создаю dll-библиотеку и запускаю ее через rundll32.exe. Проблема в том, что...

Как заставить Windows 2000 Server перезагружаться в определенное время?
Подскажите пожалуйста как заставить 2000 Сервер перезагружатьса в определенное время. Зараннее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru