Страницы: 1
RSS
Формы выдает ошибку при переносе данных из textbox в ячейки
 
Здравствуйте подскажите, с таким моментом. Формы выдает ошибку при переносе данных из textbox в ячейки. Когда делаю так "ActiveCell.FormulaR1C1=Me.TextBox3", то всё нормально, а когда так "ActiveCell.FormulaR1C1=CDbl(Me.TextBox3), ругается. Что делать?
 
А если написать просто ActiveCell.Value = CDbl(Me.TextBox3)  ?
Изменено: New - 17.09.2020 23:48:54
 
А зачем вообще писать .Formula?   Пишите просто ActiveCell=CDbl(Me.TextBox3),
 
Гляньте файл, там есть ещё так "ActiveCell.Offset(0, 3) = CDbl(Me.TextBox4)", как тогда быть?
 
Ни одно предложенное решение не решило проблему. По видимому файл не смотрели.
 
Глянул - и что? В чём проблема с четвёртым ТекстБокс?
 
Ничего в Вашем коде не трогал: заполнил поля в форме, нажал на кнопку - всё перенеслось в ячейки.
 
Заполните форму кроме textbox3, textbox4, textbox5
 
Цитата
Юрий М написал:
Ничего в Вашем коде не трогал: заполнил поля в форме, нажал на кнопку - всё перенеслось в ячейки.
 
Все поля?
 
Цитата
Delux написал:
Заполните форму кроме
А вот об этом нужно сразу говорить.
Добавьте проверку на пустой контрол.
 
Не знаю как?
 
Код
If Me.TextBox3 <> "" Then ActiveCell.Offset(0, 2) = CDbl(Me.TextBox3)
Но есть опасность, что в поле будут введены не цифры, а буквы или другие символы. Поэтому желательно исключить такой ввод.
И если у Вас используются целые числа, то зачем cdbl? Можно clng
 
Понял, спасибо. Получается нельзя создать поле TextBox, чтобы можно было вводить разные символы. CDbl это единственный способ передать число как число в ячейку?
 
Не единственный и я писал об это в #13 Есть ещё val

Цитата
Delux написал:
Получается нельзя создать поле TextBox, чтобы можно было вводить разные символы
С чего Вы взяли? Как раз в ТекстБокс можно вводить РАЗНЫЕ символы.
И чем не устроило предложенное решение?
 
Когда ввожу буквы в поле "TextBox3", "TextBox4, "TextBox5, чтобы перенести в ячейку выдаёт ошибку
 
смотрел "Уральских пельменей", закрыл перешел в эту тему, тут веселее
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Delux написал:
Когда ввожу буквы
Delux, разумеется, будет ошибка: ведь cdbl  конвертирует текст в число. А какое число должно получится из текст "корова"? ))  
 
Юра, могу допустить, что в представлении  Deluxа из коровы должно получиться довольно большое число

проблемыDeluxа нужно разбивать на элементарные и обьяснять их, похоже, по другому ничего не получится.
обстоятельно обьяснять, с цитатами или ссылками на документацию, с примерами и пр.
трудно человеку обьяснять что такое интегралы, если он еще не освоил сложение простых чисел и ничего не знает о существовании таблицы умножения
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
Ігор Гончаренко
Балабол, в очередной раз вставивший никому не нужных пять копеек. :D  
Изменено: Delux - 18.09.2020 01:42:43
 
Код
Private Sub CommandButton1_Click()
  ActiveCell.FormulaR1C1 = TextBox1
  ActiveCell.Offset(0, 1) = TextBox2
  If IsNumeric(TextBox3) _
  Then ActiveCell.Offset(0, 2) = CDbl(Me.TextBox3) _
  Else MsgBox "TextBox3 = " & TextBox3 & "  не число!", vbCritical
  If IsNumeric(TextBox4) _
  Then ActiveCell.Offset(0, 3) = CDbl(Me.TextBox4) _
  Else MsgBox "TextBox4 = " & TextBox4 & "  не число!", vbCritical
  If IsNumeric(TextBox5) _
  Then ActiveCell.Offset(0, 4) = CDbl(Me.TextBox5) _
  Else MsgBox "TextBox5 = " & TextBox5 & "  не число!", vbCritical
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх