Excel VBA Формат времени как десятичный с Combobox - PullRequest
0 голосов
/ 09 декабря 2010

Очень простой и очень раздражающий, я искал решение в течение многих часов без посторонней помощи ...

Проблема: я заполняю Combobox из именованного диапазона, диапазон - это список времен (отформатирован как время :-), Combo выглядит нормально, раскрывающийся список показывает мое время, как должно быть, но когда выбранное время отформатировано десятичное число ...

alt text

Вот код (скопированный до минимума):

Private Sub UserForm_Initialize()
    ComboBoxTime.RowSource = "Help!Time" 
End Sub

«Справка» - это имя листа, содержащего именованный диапазон «Время». Я попытался отформатировать разные способы, но безуспешно ...

ComboBoxTime = Format(ComboBoxTime, "hhmm")

Вот ссылка на образец. http://www.equstom.fi/dateproblem.html

(И да, мне нужно заполнять из именованного диапазона вместо каждого цикла, и я буду устанавливать .value с кодом, весь документ на самом деле довольно сложный, но я включил только проблемную часть ...)

Ответы [ 2 ]

2 голосов
/ 09 декабря 2010

Попробуйте что-то вроде этого:

Private Sub ComboBox1_Change()
With ComboBox1
  .Value = Format(.Value, "hh:mm:ss AMPM")

End With
End Sub 

НТН!

Редактировать Это то, что я вижу, когда покидаю свой комбо. Дисплей времени работает нормально.

alt text

Редактировать 2

Обнаружена ошибка «Недопустимое свойство»:

В поле со списком вы должны установить для параметра «Соответствие требуется» значение «ЛОЖЬ». Если вы считаете, что это должно быть «ИСТИНА», вам придется подтвердить вручную ...

0 голосов
/ 11 декабря 2010

Проблема названа диапазоном, который я использую, когда значения отформатированы как время, это не будет работать.Я получил его на работу, если значения были Text!Проблема как-то связана с Excel на финском языке и VBA на английском ... Я добавил второй столбец рядом с диапазоном, который копирует текстовые значения в этот именованный второй диапазон, отформатированный как время.Быстро и грязно!(Спасибо за ваш вклад Велисарий)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...