powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel: Проблема при замене точки на запятую через макрос
5 сообщений из 5, страница 1 из 1
Excel: Проблема при замене точки на запятую через макрос
    #35760914
Gildaniel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть универсальный макрос, превращающий текст в числа (я распознаю pdf-накладные FineReaderом, перекидываю в Эксель, там причесываю макросом и импортирую в ERP).
*************************

'Убираем лишниие пробелы и символы
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="_", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'Меняем разделитель разрядов на понятный val'у
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

' Кусок для работы с отрицательными числами похерен

' Гарантированно преобразуем текст в числа
For Each xCell In Selection
If xCell.Value <> "" Then xCell.Value = Val(xCell.Value)
Next xCell
Selection.NumberFormat = "#,##0.00"
*************************
Все работало отлично, пока не столкнулся с хитрыми накладными: В накладной используется в качестве разделителей разрядов запятая, разделителей тысяч - точка. Могут быть следующие варианты:
1,35 (должно получится 1,35)
2.157 (должно получится 2157,00)
1.136,16 (должно получится 1136,16)

Добавил в начало макроса удаление точек
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

И началось. Оказалось, что у VBA известные проблемы с заменой точек на запятую, т.е. через поиск и замену точки удаляются корректно, но когда через макрос - удаляются также и запятые.

Танцы с бубном и хитрости на тему замены точки на точку, использования Application.DecimalSeparator и остальные, описанные на форумах, не помогают получить нужный результат :(

Бьюсь второй день, уже мозги набекрень, помогите плиз, как корректно макросом удалить точку, чтобы не затронуть запятые!!!
...
Рейтинг: 0 / 0
Excel: Проблема при замене точки на запятую через макрос
    #35761028
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gildaniel,
ставить соответствующие(импортируемым данным) разделители до импорта(если импортируете из текстового файла, то прямо при импорте можно указать как понимать разделители), потом импортировать, потом менять обратно. замена, да, не проходит..
...
Рейтинг: 0 / 0
Excel: Проблема при замене точки на запятую через макрос
    #35761251
Gildaniel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_

В Excel данные попадают из FineReader, это распознанный текст. На уровне FineReader невозможны манипуляции с форматами, для него это все просто символы.
FineReader - единственный способ быстро и корректно распознавать табличные данные, сохраненные в pdf.
...
Рейтинг: 0 / 0
Excel: Проблема при замене точки на запятую через макрос
    #35761299
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ни с чем не спорю..

но все вышесказанное остается в силе..
...
Рейтинг: 0 / 0
Excel: Проблема при замене точки на запятую через макрос
    #35763737
SirFisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GildanielУ меня есть универсальный макрос, превращающий текст в числа (я распознаю pdf-накладные FineReaderом, перекидываю в Эксель, там причесываю макросом и импортирую в ERP).


Небольшую часть файла бы, в качестве примера импортируемых данных
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel: Проблема при замене точки на запятую через макрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]