Страницы: 1
RSS
Форма и отображаемое количество знаков после запятой (вкл. ноль) в Textbox и Listbox
 
Здравствуйте! Подскажите пожалуйста, возможно-ли задавать отображаемое в Textbox / Listbox количество знаков дробного числа после запятой, даже если это нолики. Спасибо.
 
попробуйте так:
Код
TextBox1.Value = Format(x, "0.00")
F1 творит чудеса
 
Спасибо! Но как это привязать сюда?

Код
Private Sub UserForm_Initialize()
    Me.TextBox1 = [A1]
End Sub
Private Sub TextBox1_Change()
    Range("A1").Value = TextBox1.Value
End Sub

 
Изменено: OVR95 - 03.10.2014 19:05:31
 
Цитата
OVR95 пишет: возможно-ли задавать отображаемое
Нельзя. В текстбокс всегда текст. И если 0,123456789 в текстбоксе отобразить как 0,12, то и считать можно будет только 0,12.
 
Все понятно. СПС.
 
Можно поизвращаться...
Код
Private   Sub   UserForm_Initialize()
Me.TextBox1 = Format([A1], "0.00")
End   Sub

Private   Sub   TextBox1_Change()
' здесь лучше поставить ограничение на минимальное количество символов, которое будет считаться достаточным для переноса в ячейку
If Len (TextBox1) > 3 Then Range("A1").Value = CDbl (TextBox1.Value)
Application.EnableEvents = False
Me.TextBox1 = Format([A1], "0.00")
Application.EnableEvents = True
End Sub

Но если пользователь введет 1 или 2 цифры, надо что-то другое придумывать, чтобы не реагировал на каждую введенную цифру Можно по потере фокуса - когда пользователь вышел из TextBox. Вариантов извращений много, но надо ли?
F1 творит чудеса
 
Цитата
OVR95 пишет: Спасибо! Но как это привязать сюда?
А какова цель этого действа?
 
Потребовалась форма, она довольно большая. Вот фрагментик ее.
Да не знаю как попроще сделать. верхние контролы это TextBox-ы, нижние ListBox-ы. На большой форме много таких контролов и разная разрядность чисел раздражает. Пробовала ComboBox, но выпадающий список не нужен. Стиль sSimple прикрутить знаний не хватает. Имеется только "0" и "2". Предложенный код Максимом неплох, но слишком громоздко получится - машина повиснет.
Страницы: 1
Читают тему
Наверх