Не первый год довольно плотно работаю с Excel, но не перестаю удивляться разным "подводным камням" в выгрузках и при копипасте. Столкнулся вот с какой "фишкой": при копипасте с сайта типоразмеров случайно заметил, что знак "×" - это не русская и не английская буква, а знак вопроса (см. скрин) "Найти и Заменить" его находит и меняет, а, если действие этого инструмента записать макрорекордером и запустить, как макрос, то меняет все символы.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Hugo, попробовал сразу))) он тогда ищет знаки вопроса (а их типа нет) — не меняет
Интересно несколько моментов: 1.Почему инструмент меняет, а его код VBA — нет 2. Почему в VBA этот символ - как знак вопроса, а на листе нет (не шрифт - пробовал разные)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous, Вопрос то в чем, ведь не только первый год с экселем, так и не первый день на форуме. Боротся с чем? Ну у вас юникодный символ × используйте не "?", а ChrW(), с соотвтевующим кодом.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Реанимирую тему, возникла схожая проблема при работе макроса по созданию папок по именам организаций с выгрузки из сайта (выделены красным). Проблема в символах Й, й Пытался через ChrW эти знаки убрать по коду, добавив в макрос, но пока безуспешно, может у кого есть идеи?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Function Replace_symbols(ByVal txt As String) As String
St$ = "~!@/\#$%^&*=|`"""
For i% = 1 To Len(St$)
txt = Replace(txt, Mid(St$, i, 1), "_")
Next
txt = Replace(txt, ChrW(1048) & ChrW(774), "Й")
Replace_symbols = txt
End Function
Итоговый вариант функции замены, вдруг кому понадобится , вариант "И & ChrW(774)" не прокатил, получилась такая вот шляпа, но за наводку спасибо
Редактор VBE в таких случаях только вводит в заблуждение, поскольку работает с номерами символов в кодовой таблице (Windows-1251), а не с Unicode.
Буква "И" c последующим символом U+0306 ̆ (Комбинируемое бреве (бревис, кратка), десятичное значение 774) с точки зрения юникода эквивалентна "Й". Но мало кто (включая Excel) эту точку зрения разделяет. Поскольку в таблицах юникода есть персональное место для "Й", вряд ли запись в виде двух символов оправдана.
sokol92, благодарю за ценную информацию! А какая собака программа так выгружает данные?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
В моем случае это была выгрузка с сайта обычная, правда выгружается она в старом формате xls (тип -Лист ME 97-2003), приходится преобразовывать чтобы можно было работать, мб из-за этого была проблема, поясните кто-нить, то есть U+0306 и 774 это одинаковая запись символа ̆ просто в разных системах? https://unicode-table.com/ru/0306/ и еще вопрос, почему в самой ф-ии ChrW надо обращаться к U+0306 в формате ChrW$(&H0306), мб прозвучит тупо, но где + и почему ставится H& ?