![]() |
[ms exel] Вопрос знатокам
Здраствуйте. Хороший у вас форум, давно читаю. Вот пришлось зарегистрироваться, чтобы задать вопрос експертам, так сказать. Ни под одну тему не вписывается.
Может кто знает способ разрешить такую проблему. В ескеле есть столбик со словами которые состоят из двух слов написанных без пробела но с прописных букв. Можно ли поставить перед всеми вторыми в слове проиписными буквами поставить пробел (те рзъединить их на два разных слова)? Заранее спасибо кто поможет |
чего-чего? Прописные вторые. Расскажи четче
|
вот так сделать
НабережныеЧелны -> Набережные Челны |
1. Почитай про VBA
Решение "в лоб" 2. Заносиш в строковую переменную содержимое ячейки. 3. Используя функцию mid() перебираеш символы в строке пока не добнрёшся до большой буквы(диапозон ASCII кодов) 4. Запоминаеш позицию символа в строке. POS 5. Используя тотже mid() собираеш новую строку. STR=mid(ST,1,POS-1) & " " & mid(ST,POS,strleinght(ST)-POS) 6. Заносиш результат в ячейку. Более умное решение. 2. Перед всеми большими символами ставиш пробел. 3. Используя функцию trim() избавляешся от пробелов перед и после строки. |
А ещё можно скопировать весь столбик в notepad++ и там используя несложную регулярку, быстро всё сделать и загнать обратно в эксель.
|
VBA конечно здорово но уж очень сложно получается как то :confused:
если не сложно что такое регулярка в нотепад++ ? |
вот, занеси нужное тебе словосочетание в ячейку A1, потом создай и запусти такой макрос:
Код:
|
Ну вот и для целой колонки (данные вставляй в "A" колонку):
Код:
kol = 3 ' Кол-во данных в колонке, которые надо разлепить |
и для строки и для столбца пишет в B2 сколько букв в слове и окошко Runtime Error 13: TypeMismatch
видимо тип данных где то не тот а kol это всмысле количество ячеек в столбце? |
да, с данными. Всё пашет на офис-2000
другого нет, чтобы проверить |
| Время: 15:12 |