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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.10.2008, 17:44   #1
neugadal
Пользователь
 
Регистрация: 17.07.2008
Сообщений: 19
По умолчанию Разделитель целой и дробной части

Столкнулся с такой проблемой. В Excel у меня установлен разделитель "точка". А макрос почему-то с "точкой" работать не хочет. Функции CSng("1.5") и CDec("1.5") выдают ошибку Type Mismatch. А с запятой воспринимают нормально. Как можно исправить эту ситуацию? Сам-то я бы просто с запятой стал бы писать числа, но у меня входные данные поступают уже с точкой.
neugadal вне форума
Старый 08.10.2008, 06:38   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А зачем в Ваших функциях преобразования форматов аргументы взяты в кавычки?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 09.10.2008, 02:34   #3
neugadal
Пользователь
 
Регистрация: 17.07.2008
Сообщений: 19
По умолчанию

Так без ковычек редактор красным строку высвечивает - синтаксическая ошибка. Да и по смыслу - у этой функции аргументом является строка. Но вообще у меня проблема уже решилась. Правда я сам не понял как. Но вдруг эта функция стала принимать точку. То есть если в ячейке в файле стоИт значение 1.5, то она ОК. В том числе и если ячейка отформатирована как "текст". Хотя если аргумент функции напрямую задать - "1.5" - то попрежнему Type mismatch. Ну да бох с ней.
neugadal вне форума
Старый 09.10.2008, 07:20   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно использовать функцию Val("1.5"). Тогда, если разделитель целой и дробной части в Excel совпадает с разделителем в текстовом аргументе, то получим числовое значение аргумента. А если не совпадают - получим число, ограниченное первым встретившимся нечисловым символом, т.е. 1
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбиение на части MAcK Общие вопросы .NET 4 18.09.2008 13:56
Отображение только целой части Дикий Общие вопросы Delphi 3 11.05.2008 10:43
Задать разделитель дробной части Taurus Win Api 1 04.09.2007 08:20
combobox разделитель пунктов Shawn Компоненты Delphi 4 18.08.2007 22:46
десятичный разделитель zetrix Microsoft Office Excel 0 30.10.2006 19:32