Страницы: 1
RSS
Ввод в Textbox чисел с разделителями групп разрядов
 
нашел вот такой код от ZVI  
 
все работает, (правда не знаю как)  
 
Единственно хотелось бы чтобы  формат данных в текстбоксе был # ##0р  
 
 
код от ZVI  
 
'Ввод в TextBox только чисел в заданном диапазоне  
'с заданным десятичным разделителем (нажимать можно и точку и запятую)  
'с ограничением количества десятичных разрядов  
Private Sub TextBox1_Change()  
Const MIN = 0 ' минимальное значение  
Const MAX = 100000000 ' максимальное значение  
Const DECSEP = "." ' дес. разделитель: запятая или точка  
Const DECPLACES = 2 ' количество дес. разрядов  
Dim i As Double, j As Integer, ds As String, s As String  
Static old As String  
If DECSEP = "." Then ds = "," Else ds = "."  
On Error Resume Next  
s = TextBox1  
If Len(s) = 0 Then old = "": Exit Sub  
s = Replace(Replace(s, " ", ""), ds, DECSEP)  
TextBox1 = s  
i = CDbl(Replace(s, DECSEP, Mid$(CStr(1.2), 2, 1)))  
j = InStr(s, DECSEP)  
If j > 0 Then j = Len(s) - j  
If err <> 0 Or i < MIN Or i > MAX Or j > DECPLACES Then  
TextBox1 = old  
Else  
old = TextBox1  
End If  
OKButton.Enabled = True  
End Sub
 
В общем случае это будет выглядеть так:  
TextBox1 = Format(TextBox1, "Здесь_Ваш_Формат")  
Попробуйте так:  
TextBox1.Value = Format(TextBox1.Value, "#,##0") & "р"
 
так в ячейке получается текст "5 000р.",    
 
надо чтобы в ячейке было число, а формат ячейки - был денежный
 
вопрос пока снят. Сделал так:  
 
   Cells(lLastRow + 1, 5).Value = Сумма.Value  
   Cells(lLastRow + 1, 5).NumberFormat = "#,##0$"
 
Вообще хотелось чтобы и в текстбоксе и в ячейке были числа, в денежном формате.    
 
Куда воткнуть TextBox1 = Format(TextBox1, "Здесь_Ваш_Формат") применительно к полю Сумма не понял, поэтому решил пока отложить.  
 
Если покажете как - буду признателен)
 
Я воткнул на событие Сумма_Exit  
И надо было Dim old As String добавить
Bite my shiny metal ass!      
 
Лузер, я тоже так пытался - только время потерял (я про Format(Сумма, "#,##0 $")), у меня почему то он не работает как хотелось бы.    
 
Dophin если Вам достаточно доллара в конце, то смотри пример. Если желаете регулирование числа разрядов в конце. Маякните покажу - это не сложно.      
 
Касательно кода - уводит кирилица, рекомендую отвыкнуть не привыкая. На это две причины - необходимость переключения раскладки при написании кода, и может кривить на английских локализациях.    
 
В целом молодцом при условии, что все понятно...
Страницы: 1
Читают тему
Наверх