Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Быстрый ввод времени в поле текстбокса - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Быстрый ввод времени в поле текстбокса
parovoznik Дата: Четверг, 03.09.2015, 21:55 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 450
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток.
На форме есть текстбокс для быстрого ввода времени.Время вводится подряд четыре числа : 1030 и получаем в поле 10:30.
В процессе работы возникла проблема ,а как произвести ввод времени :0730,0900.При вводе нет разделителя двоеточия.
Как можно исправить данную недоработку?
К сообщению приложен файл: 1997558.xlsm (16.7 Kb)
 
Ответить
СообщениеДоброго времени суток.
На форме есть текстбокс для быстрого ввода времени.Время вводится подряд четыре числа : 1030 и получаем в поле 10:30.
В процессе работы возникла проблема ,а как произвести ввод времени :0730,0900.При вводе нет разделителя двоеточия.
Как можно исправить данную недоработку?

Автор - parovoznik
Дата добавления - 03.09.2015 в 21:55
KSV Дата: Четверг, 03.09.2015, 23:40 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
вдруг, угадал :) [vba]
Код
Private Sub TextBox1_Change() 'формат времени для текстбоксов
      Dim vVal&
      vVal = Replace(Replace(Me.TextBox1.Value, ":", ""), "-", "")
      Me.TextBox1.Value = Format(vVal, IIf(vVal > 9999, "00:00-00:00", "00:00"))
End Sub
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333


Сообщение отредактировал KSV - Четверг, 03.09.2015, 23:47
 
Ответить
Сообщениевдруг, угадал :) [vba]
Код
Private Sub TextBox1_Change() 'формат времени для текстбоксов
      Dim vVal&
      vVal = Replace(Replace(Me.TextBox1.Value, ":", ""), "-", "")
      Me.TextBox1.Value = Format(vVal, IIf(vVal > 9999, "00:00-00:00", "00:00"))
End Sub
[/vba]

Автор - KSV
Дата добавления - 03.09.2015 в 23:40
parovoznik Дата: Пятница, 04.09.2015, 07:38 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 450
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
KSV в результате при вводе четырех чисел например 1230 в поле тексбокса должно отобразиться 12:30.
Это все отображается. а как быть с вводом 0830 или 0900. Если вводить ,эту комбинацию . то НЕ ОТОБРАЖАЕТСЯ РАЗДЕЛИТЕЛЬ(:)
 
Ответить
СообщениеKSV в результате при вводе четырех чисел например 1230 в поле тексбокса должно отобразиться 12:30.
Это все отображается. а как быть с вводом 0830 или 0900. Если вводить ,эту комбинацию . то НЕ ОТОБРАЖАЕТСЯ РАЗДЕЛИТЕЛЬ(:)

Автор - parovoznik
Дата добавления - 04.09.2015 в 07:38
_Boroda_ Дата: Пятница, 04.09.2015, 07:57 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 17005
Репутация: 6667 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А так?
[vba]
Код
Private Sub TextBox1_Change()   
        v_ = Me.TextBox1.Value
         If IsNumeric(v_) And Len(v_) = 4 Then Me.TextBox1.Value = Left(v_, 2) & ":" & Right(v_, 2)
End Sub
[/vba]
К сообщению приложен файл: 1997558_1.xlsm (16.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА так?
[vba]
Код
Private Sub TextBox1_Change()   
        v_ = Me.TextBox1.Value
         If IsNumeric(v_) And Len(v_) = 4 Then Me.TextBox1.Value = Left(v_, 2) & ":" & Right(v_, 2)
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 04.09.2015 в 07:57
parovoznik Дата: Пятница, 04.09.2015, 08:12 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 450
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, спасибо,то что надо hands hands
 
Ответить
Сообщение_Boroda_, спасибо,то что надо hands hands

Автор - parovoznik
Дата добавления - 04.09.2015 в 08:12
parovoznik Дата: Пятница, 04.09.2015, 22:59 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 450
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
parovoznik, в процессе работы возник вопрос.
А если введено время например 25:67.Т.е. это невремя должно быть ссообщение
MsgBox "Указано несуществующее время.", vbExclamation?
Как отобразить в коде?
Спасибо
 
Ответить
Сообщениеparovoznik, в процессе работы возник вопрос.
А если введено время например 25:67.Т.е. это невремя должно быть ссообщение
MsgBox "Указано несуществующее время.", vbExclamation?
Как отобразить в коде?
Спасибо

Автор - parovoznik
Дата добавления - 04.09.2015 в 22:59
doober Дата: Суббота, 05.09.2015, 00:47 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 995
Репутация: 345 ±
Замечаний: 0% ±

Excel 2010
Например так
If not cdate("25:67") then ...


 
Ответить
СообщениеНапример так
If not cdate("25:67") then ...

Автор - doober
Дата добавления - 05.09.2015 в 00:47
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!