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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2011, 13:03   #1
Vitoz85
Новичок
Джуниор
 
Регистрация: 09.11.2011
Сообщений: 2
По умолчанию Макрос: поставить пробел перед заглавной буквой

В экселевской таблице (20 000 строк) есть столбец где написано ИмяОчество без пробела. Как сделать так, чтоб был пробел между словами
"ИванИванович" превратить в "Иван Иванович"
Vitoz85 вне форума Ответить с цитированием
Старый 09.11.2011, 13:39   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Работает с выделенным диапазоном:
Код:
Sub bb()
Dim c As Range, s$, i&, d$
For Each c In Selection
    s = c
    For i = 2 To Len(s)
        d = Mid$(s, i, 1)
        If d = UCase(d) Then c = Left$(s, i - 1) & " " & Mid$(s, i): Exit For
    Next
Next
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 09.11.2011, 13:56   #3
Vitoz85
Новичок
Джуниор
 
Регистрация: 09.11.2011
Сообщений: 2
По умолчанию

ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБИЩЕ!!!
Vitoz85 вне форума Ответить с цитированием
Старый 21.11.2018, 14:14   #4
DG2k6
Новичок
Джуниор
 
Регистрация: 21.11.2018
Сообщений: 1
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Работает с выделенным диапазоном:
Код:
Sub bb()
Dim c As Range, s$, i&, d$
For Each c In Selection
    s = c
    For i = 2 To Len(s)
        d = Mid$(s, i, 1)
        If d = UCase(d) Then c = Left$(s, i - 1) & " " & Mid$(s, i): Exit For
    Next
Next
End Sub

Зарегистрировался чтобы сказать ЧЕЛОВЕЧЕСКОЕ Спасибо! Круче этого варианта ничего нет. Весь инет облазил. Спасибо, друг.
DG2k6 вне форума Ответить с цитированием
Старый 21.11.2018, 16:01   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Вообще можно сделать покруче - навесить один trim() в начале на переменную c, а второй application.trim() на конечный результат - это от дураков и брака.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из текста удалить все цифры, стоящие перед первой буквой Aleksandr15 Помощь студентам 4 30.03.2011 11:32
как поставить пробел в HTLM таблице ? dima6089 Помощь студентам 2 02.11.2009 11:06
Как поставить пробел, через 8 знаков valerij Microsoft Office Excel 7 11.04.2009 04:24
Как сделать, чтобы слово пирамида всегда писалось с Заглавной буквой asale Microsoft Office Word 3 22.01.2009 20:51