Числа некорректно копируются в Excel из-за неразрывного пробела.

Страницы: 1
RSS
Числа некорректно копируются в Excel из-за неразрывного пробела.
 
Проблема:
При copy-past чисел в Excel, которые между разрядами имеют неразрывный пробел, Excel их не распознает как число. Они для него имеют формат "текст", в итоге с такими числами невозможны операции.
Приходится ручками заходить в каждую ячейку и удалять все неразрывные пробелы, что занимает время.


Прошу рассмотреть возможность во время операции Copy-C, передавать в буфер обмена число, очищенное от неразрывных пробелов и обычных пробелов.
На крайний случай прошу заменить неразрывный пробел обычным пробелом, т.к. обычный пробел нормально распознается Excel, т.е. число с пробелом он воспринимает как число. При этом пробел между разрядами должен быть только один и только между разрядами, иначе Excel перестанет воспринимать данное число как число.
 
Цитата
Сергей написал:
Проблема:
При copy-past чисел в Excel, которые между разрядами имеют неразрывный пробел, Excel их не распознает как число. Они для него имеют формат "текст", в итоге с такими числами невозможны операции.
Приходится ручками заходить в каждую ячейку и удалять все неразрывные пробелы, что занимает время.


Прошу рассмотреть возможность  во время операции Copy-C, передавать в буфер обмена число, очищенное от неразрывных пробелов и обычных пробелов.
На крайний случай прошу заменить неразрывный пробел обычным пробелом, т.к. обычный пробел нормально распознается Excel, т.е. число с пробелом он воспринимает как число. При этом пробел между разрядами должен быть только один и только между разрядами, иначе Excel перестанет воспринимать данное число как число.
Добрый день.

Используйте "Формальное представление данных", включается по F9/Программа/Буфер обмена.
 
Спасибо.
 
Цитата
написал:
Используйте "Формальное представление данных", включается по F9/Программа/Буфер обмена.

Но тогда вместо "Купля" "Продажа" будет "BUY" и "SELL", что для меня оказалось неприемлемо.Решил проблему через скрипт AutoIt.
За основу взял этот пример. Удалил всё лишнее. Причесал оставшееся.
Скрипт следит за содержимым буфера обмена и удаляет все неразрывные пробелы:
Код
; AutoIt (не Lua !!!)
Global $sSimb = Chr (160) ; DEC код неразрывного пробела

While 1
    Sleep(200)
    $sClip = ClipGet()
    If StringRegExp($sClip, $sSimb) Then _Job()
WEnd

Func _Job()
    $sClip = StringRegExpReplace($sClip, '[' & $sSimb & ']', '')
    ClipPut($sClip)
    $sClip = ''
EndFunc
Страницы: 1
Читают тему
Наверх