Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2013, 09:22   #1
Вадим12091965
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 143
По умолчанию Вопросы о TextBox

Привет. Несколько вопросов:
1. В TextBox1 числовое значение (например 1257, 8643). при коде
Код:
Лист1.[A1].Value = TextBox1.Text
значение в ячейку приходит 12578643 без запятой. Как навести порядок?
И можно ли сделать в TextBox 2 знака после запятой?
2. При коде
Код:
TextBox23.Text = TextBox23.Text + TextBox18.Text
при сумме в TextBox23 получаю не сумму чисел, которые в TextBox23.Text и TextBox18, а два числа один за другим. Как получить сумму?
3. Есть 2 DTPricker. Один как календарь, второй как таймер. Как выглядит код для каждого, что-бы запустить календарь и часы?
Спасибо.
Вадим12091965 вне форума Ответить с цитированием
Старый 02.10.2013, 11:57   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

1.
Код:
Лист1.[A3].Value = TextBox1.Value
Код:
TextBox1.Value = Format(Лист1.[A1].Value, "0.00")
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 02.10.2013 в 12:32.
VictorM вне форума Ответить с цитированием
Старый 02.10.2013, 12:01   #3
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

2.
Для целых чисел
Код:
TextBox3.Value = Val(TextBox1.Value) + Val(TextBox2.Value)
для дробных
Код:
TextBox3.Value = CDbl(TextBox1.Value) + CDbl(TextBox2.Value)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 02.10.2013, 13:52   #4
Вадим12091965
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 143
По умолчанию

Не получается с кодом:
Код:
TextBox23.Value = CDbl(TextBox23.Value) + CDbl(TextBox18.Value)
Должно быть, что при нажатии кнопки TextBox23 увеличивается на TextBox18, но выдается ошибка "не соответствие типов"
Вадим12091965 вне форума Ответить с цитированием
Старый 02.10.2013, 14:29   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

используйте
Код:
TextBox3.Value = Val(TextBox1.Value) + Val(TextBox2.Value)
и бросайте это программирование...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.10.2013, 16:10   #6
Вадим12091965
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 143
По умолчанию

Спасибо обоим. Сумму получил, хотел конечно с 2-мя знаками после запятой, но видно не судьба.
А на счет бросить программирование. Я и не начинал, закончу начатое, осталась мелочь.
Вадим12091965 вне форума Ответить с цитированием
Старый 02.10.2013, 16:21   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

судьбы нет, в жизни есть место случаю
Код:
TextBox3.Value = format(Val(TextBox1.Value) + Val(TextBox2.Value), "0.00")
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.10.2013, 20:20   #8
Вадим12091965
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 143
По умолчанию

Ну да, появились 2 ноля после запятой, но только ноли. Пробовал вместо Val вставить CDbl, но ошибка.
Ладно, спасибо и на этом.
Вадим12091965 вне форума Ответить с цитированием
Старый 03.10.2013, 04:27   #9
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
появились 2 ноля после запятой, но только ноли
Это потому, что функция Val обрезает текстовые значения, спотыкаясь о неверно введенный знак разделителя целой и дробной части, а функция CDbl не распознает этот знак. Для того, чтобы можно было вводить в TtxtBox-ы любой разделитель, можно использовать
Код:
Dim a As Double, b As Double
a = CDbl(Replace(Replace(TextBox23, ".", Application.DecimalSeparator), ",", Application.DecimalSeparator))
b = CDbl(Replace(Replace(TextBox18, ".", Application.DecimalSeparator), ",", Application.DecimalSeparator))
TextBox23 = Format(a + b, "0.00")
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.10.2013, 17:01   #10
Вадим12091965
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 143
По умолчанию

Спасибо за вариант, но, видимо, у меня где-то что-то не так в программе, так как снова ошибка "несоответствие типов".
Вадим12091965 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внести данные из Textbox Form2 в TextBox Form1 uralshans Microsoft Office Excel 1 07.01.2013 17:15
TextBox latish86 Windows Forms 2 08.05.2010 13:25
textbox NARTZISS Общие вопросы .NET 5 19.12.2009 14:21
TextBox Freeman Общие вопросы C/C++ 3 28.05.2008 00:56