Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VBA MS Office

Программирования для MS Office кроме ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проверка значений запятой

 
 автор: Graers   (30.11.-1 в 00:00)
 
 

Подскажите, пжста, как сделать, чтобы при вводе в textbox "," вводилась "."

  Ответить  
 
 автор: pashulka   (30.11.-1 в 00:00)
 
 

Re: проверка значений запятой Есть несколько вариантов решения поставленного вопроса, но самый правильный это - не давать вводить запятую, т.е. при попытке ввода запятой заменить её на точку.

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 44 Then KeyAscii = 46
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyV And Shift = 2 Then KeyCode = 0
End Sub

  Ответить  
 
 автор: Graers   (30.11.-1 в 00:00)
 
 

Re[1]: проверка значений запятой Спасибо большое я уже сделал как у Вас в первом варианте

  Ответить  
 
 автор: vkodor   (30.11.-1 в 00:00)
 
 

Re: проверка значений запятой Private Sub TextBox1_Change()
If Right(TextBox1.Text, 1) = "," Then _
TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1) & "."
End Sub

  Ответить  
 
 автор: pashulka   (30.11.-1 в 00:00)
 
 

Re[1]: проверка значений запятой Давно я не видел подобной некомпетентности, во-первых, предложенный способ предполагает, что пользователь будет вводить символы последовательно, а лично мне никто не мешает вводить/править их так, как это нужно мне, т.е. в любом порядке, во-вторых, можно просто скопировать данные в которых наличествует запятая и в этом случае, мы также получим некорректный результат. Поэтому резюмируя всё вышеизложенное, можно сказать, что предложенный способ не справляется с поставленной задачей, в отличии от первого ответа, где все эти нюансы учтены.

  Ответить  
 
 автор: vkodor   (30.11.-1 в 00:00)
 
 

Re[1]: проверка значений запятой мда
Может у меня некомпетентность в vba (поскольку я его не изучал) зато нет некомпетентности в общении.
ваше сообщение куда корректнее было бы таким
во-первых, предложенный способ предполагает, что пользователь будет вводить символы последовательно, а лично мне никто не мешает вводить/править их так, как это нужно мне, т.е. в любом порядке, во-вторых, можно просто скопировать данные в которых наличествует запятая и в этом случае, мы также получим некорректный результат. Поэтому резюмируя всё вышеизложенное, можно сказать, что предложенный способ не справляется с поставленной задачей, в отличии от первого ответа, где все эти нюансы учтены.

  Ответить  
 
 автор: pashulka   (30.11.-1 в 00:00)
 
 

Re[1]: проверка значений запятой Моё сообщение и так более чем корректно, а истинная некорректность - это давать совет (осознавая при этом, что Вы не знаете язык и особенности конкретных приложений) который по всем пунктам проигрывает уже опубликованному варианту.

  Ответить  
 
 автор: vkodor   (30.11.-1 в 00:00)
 
 

Re: проверка значений запятой может и не по теме но если нужно чтобы при вводе значения было число можно сделать так
Private Sub TextBox1_Change()
TextBox1.Text = Replace(TextBox1.Text, ",", Application.International(3))
TextBox1.Text = Replace(TextBox1.Text, ".", Application.International(3))
End Sub

  Ответить  
 
 автор: pashulka   (30.11.-1 в 00:00)
 
 

Re[1]: проверка значений запятой К сожалению, представленный код предполагает, что пользователь будет вводить именно число, где в качестве разделителя целой части и дробной будет использоваться точка, запятая или реально используемый разделитель. А стало быть, любое отклонение от правил неизбежно приведёт к получению некорретного результата, например, Иванов, Петров, Сидоров или 12, 45 ,78 или 12-45 (при условии, что - не является разделителем)

  Ответить  
 
 автор: 1`"   (14.04.2023 в 16:21)   личное сообщение
 
 

555

  Ответить  
 
 автор: 1А§Аў%2527%2522   (14.04.2023 в 16:21)   личное сообщение
 
 

555

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList