Vba+Excel-форматирование ввода в контрол

Узнай цену своей работы

Формулировка задачи:

Сел за Vba для Excel. Пока затык с обработкой форматирования данных.
В TextBox вводят значение. Необходимо обеспечить ввод только чисел в формате double.
Все что нашел, это FormatNumber.
В onExit контрола пишу
On Error GoTo Handler
mytextbox.Value = FormatNumber(mytextbox.Value,2)
Handler:
''вот еще вопрос попутный - как правильней обработать
MsgBox("ошибка")
mytextbox.SetFocus
В результате все вроде форматится, но обработать корректно не получается.
Фокус постоянно переходит "безсистемно". Покажите как правильно

Решение задачи: «Vba+Excel-форматирование ввода в контрол»

textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> TextBox1_BeforeUpdate(<font color="blue">ByVal</font> Cancel <font color="blue">As</font> MSForms.ReturnBoolean)
<font color="blue">On</font> <font color="blue">Error</font> <font color="blue">GoTo</font> err_
    <font color="blue">Dim</font> result <font color="blue">As</font> <font color="blue">Double</font>
    
        result = CDbl(TextBox1.Text)
        TextBox1.Text = FormatNumber(result, <font color="darkblue"><b>2</b></font>)
        
exit_sub:
    <font color="blue">Exit</font> <font color="blue">Sub</font>
err_:
    MsgBox <font color="teal">"Ошибка"</font>
    Cancel = True
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы