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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2020, 09:07   #1
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию Проблема с точкой/запятой при вводе через форму

Здравствуйте!
Воспользовался программой ввода данных через форму, найденной на данном сайте. Переделал под свои нужды. При пользовании возникли проблемы.
При изменении введенного числа пропадает разрядная запятая (после переключения между вкладками). Если два знака после запятой, то сохраняется, ставлю третий – исчезает. Ставлю точку, после переключения точка становится запятой, а изменив цифру – пропадает.
Помогите пожалуйста.
Вложения
Тип файла: xls Потребление Test.xls (134.5 Кб, 5 просмотров)
hamlook вне форума Ответить с цитированием
Старый 09.06.2020, 23:36   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Sub SaveInfo(Столбец As Параметр, Значение As Variant)      ' сохраняет данные текущего месяца
    ' сохраняем значение в базе данных (на листе), только если AllowEvents = True

    '(AllowEvents = False только в момент заполнения полей формы значениями из базы данных,
    ' то есть тогда, когда не надо никак реагировать на события изменения полей на форме РЕГИСТРАЦИЯ)
    If IsNumeric(Replace(Значение, ".", ",")) Then
        If AllowEvents Then DB.Cells(Строка, Столбец) = CDbl(Replace(Значение, ".", ","))
    End If
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 10.06.2020, 10:50   #3
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию

Громаднейшее спасибо!
То что нужно было.
hamlook вне форума Ответить с цитированием
Старый 15.07.2020, 13:05   #4
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию

Здравствуйте.
Через месяц обнаружил небольшую проблему.
Если в форме полностью стереть число (Delete, Backspace), на листе изменения не происходят (иногда единичка появляется). Если ставлю 0, то всё нормально.
Это началось после последнего изменения кода.
Можно это исправить?
Вложения
Тип файла: xls Потребление Test1.xls (136.0 Кб, 2 просмотров)
hamlook вне форума Ответить с цитированием
Старый 15.07.2020, 15:22   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Пройдитесь по коду пошагово Ф8 и посмотрите где не работает на вам хочется. Рискну предположить что полностью пустое поле возвращает ЛОЖЬ при проверке IsNumeric
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 15.07.2020, 16:08   #6
hamlook
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 85
По умолчанию

Спасибо, но я не смог найти причину.
hamlook вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с вводом консоли - На вводе в одной строчке записаны через пробел 2 числа , как записать каждое из этих чисел в свою переменную . Olscraft C# (си шарп) 1 19.12.2019 14:01
Замена точки запятой сразу при вводе значения в ячейку листа ольгаг Microsoft Office Excel 7 21.11.2016 14:54
Проблема с запятой в числах с плавающей точкой sarexer Visual C++ 2 17.09.2016 12:01
как выводить в файл числа разделенные запятой а не точкой Kukurudza Общие вопросы C/C++ 2 08.04.2012 01:32
Числа с плав. точкой или запятой? dx+ Общие вопросы Delphi 1 08.05.2008 16:47