|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
19.11.2008, 12:41 | #1 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Проблема с UserForm. То работает, то НЕ работает
Прблема №1:
Если выбрать опцию "По рыночной", а затем вернуться на "По заданной цене", то в окне "отклонение" должно оявиться значение 0,001 (как задано кодом), а не 0.001 Проблема №2: При нажатии на КоммандБоттон 3 или 4 значение в "отклонении" должно увеличиваться или уменьшаться на 0,001 соответственно. Вместо этого при увеличении получается 0.002 и программа выдает ошибку "Type mismatch" Вся хреновена в том, что Форма ТО РАБОТАЕТ, ТО НЕ РАБОТАЕТ!!! НЕ ПОНЯТНО? |
19.11.2008, 13:23 | #2 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Вместо этой строки напишите TextBox1.Value = "0,001" Цитата:
CommandButton3_Click и CommandButton4_Click на следующий код: (кроме того, добавьте процедуру UserForm_Initialize) Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 19.11.2008 в 13:37. |
||
19.11.2008, 13:36 | #3 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
На вся фишка в том и есть, что не смотря на то, что кодом задано 0.001, все равно появляется 0,001 (в том случае когда форма работает!).
А если задать TextBox1.Value = "0,001", то не будет ли это значение восприниматься как текст? |
19.11.2008, 13:42 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Немного подправил код в предыдущем посте...
В итоге, если сделать так, работать будет корректно. Код:
Или поставить там его в виде 0.001, тогда процедура Private Sub UserForm_Initialize() будет не нужна. |
19.11.2008, 14:01 | #5 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
ЗДОРОВО! Форма работает, но теперь не работает сам код:
' Определение цены продажи Отклонение = UserForm3.TextBox1.Value выделяет эту строку желтым и пишет "Type mismatch" Вообще затея была такая, чтобы отображать в ТекстБокс значение с запятой. Ведь это значение используется в расчетах для определения цены, а ВСЕ цены в самой программе (т.е. в екселевских ячейках) стоят именно с запятой. И изначально я исходил из того, что VBA не может складывать цифры с точкой и запятой, что они должны быть в одном формате. И све-равно остается вопрос, почему моя начальная форма то работает, то нет?! |
19.11.2008, 14:11 | #6 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Для получения числового (а не текстового) значения используйте функцию Val
' Определение цены продажи Отклонение = Val(UserForm3.TextBox1.Value) Цитата:
|
|
19.11.2008, 14:51 | #7 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Гениально! Все заработало как надо! Огромное СПАСИБО! В который раз выручаете!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает SendMessage | MaTBeu | Win Api | 6 | 01.10.2008 19:00 |
Не работает скрипт | maximYCH | PHP | 17 | 27.08.2008 19:00 |
не работает! | RECREATOR | Общие вопросы Delphi | 6 | 29.11.2007 12:42 |
Не работает try except!!! | Radost | БД в Delphi | 17 | 03.06.2007 11:07 |