Страницы: 1
RSS
Возможно ли добавить пробел в слитнонаписанный текст?
 
Здравствуйте!  
Подскажите, возможно ли добавить пробел в слитнонаписанный текст. Напр. есть ИвановаАннаСергеевна - надо разделить пробелом ФИО, чтоб получилось Иванова Анна Сергеевна. Возможно ли такое сделать с помощью Excel?  
 
Заранее спасибо за ответ.
 
если именно так написано(т.е. с заглавными), то довольно легко - надо искать символы с аск-кодами заглавных букв и заменять их на них же, но с пробелом
 
{quote}{login=slan}{date=21.12.2007 01:27}{thema=}{post}если именно так написано(т.е. с заглавными), то довольно легко - надо искать символы с аск-кодами заглавных букв и заменять их на них же, но с пробелом{/post}{/quote}  
 
вот так:  
Function SplitText(ИскомыйТекст As String) As String  
SplitText = ""  
If ИскомыйТекст <> "" Then  
   For i = 1 To Len(ИскомыйТекст)  
   If Asc(Mid(ИскомыйТекст, i, 1)) >= 192 And Asc(Mid(ИскомыйТекст, i, 1)) <= 223 Then  
       SplitText = SplitText & " "  
   End If  
   SplitText = SplitText & Mid(ИскомыйТекст, i, 1)  
   Next i  
End If  
SplitText = Trim(SplitText)  
End Function
 
я бы написал так:  
Function split(text As String)  
Dim i As Integer, c As String  
For i = Len(text) To 1 Step -1  
   c = Mid(text, i, 1)  
   If Asc© >= 192 And Asc© <= 223 Then  
       text = Replace(text, c, " " & c)  
   End If  
Next  
split=text  
End Function
 
зы поравка - цикл не до 1, а до 2 т.е. for i=len() to 2
 
{quote}{login=slan}{date=21.12.2007 02:42}{thema=}{post}зы поравка - цикл не до 1, а до 2 т.е. for i=len() to 2{/post}{/quote}  
 
те же яйца, только в профиль :)  
принцип одинаковый
 
Мудрейшие!  
Бьюсь сильно головой об стену, не могу заставить эти обе формулы работать.  
-в VBA вставил новый пустой модуль  
-добавил текст одного из указанных кодов(пробовал оба)  
-закрыл VBA  
дальше тупик  
- Помечаю СлитноНаписанный текст в ячейке B2  
-Меню-Вставка-Функция... -Категория:Определенные пользователем - SplitText  
Дальше ничего не понимаю.    
У меня в столбце "B" с заглавными слитно почти весь русский алфавит можно встретить, записей много, около 20 тыс
 
Взял формулу слэна, все работает.  
Посмотрите в файле. Это "обычная" функция. Вставляете ее в ячейку, а аргументом функции будет являться ячейка из столбца В. И там еще на Лист1 немного формул и описаний, вдруг понадобится что-то похожее.
 
Да, все заработало,но после очистки соседнего столбца,там чего то пряталось и мешало вычислению.  
Код:  
Function razdelitxText(text As String)  
Dim i As Integer, c As String  
Application.Volatile  
 
   For i = Len(text) To 2 Step -1  
       c = Mid(text, i, 1)  
           If Asc© >= 192 And Asc© <= 223 Then  
               text = Replace(text, c, " " & c)  
           End If  
   Next  
     
razdelitxText = text  
 
End Function  
==============================  
Реально работает, а в сочетании    
=СЖПРОБЕЛЫ(razdelitxText(A3)) вообще замечательно  
Вы настоящие волшебники,огромное ВАМ СПАСИБИЩЕ!!!!!
 
http://sql.ru/forum/actualthread.aspx?tid=587051
Страницы: 1
Читают тему
Наверх