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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2010, 13:44   #1
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию извлечь из ячейки первое слово до пробела

Всем привет!
Подскажите, пожалуйста!

Есть в ячейке предложение, нужно
1. Извлечь первое слово до первого пробела
2. Извлечь слова от первого пробела до точки
3. Извлечь оставшиеся слова после точки

Как это реализовать макросом.

Помогите написать конструкцию извлечения, какую функцию использовать
KNatalia вне форума Ответить с цитированием
Старый 06.08.2010, 14:12   #2
Aiden
Пользователь
 
Регистрация: 12.09.2007
Сообщений: 34
По умолчанию

1. Left(Range(), InStr(Range(), " ") - 1)
2. Right(Left(Range(), InStr(Range(), ".") - 1), Len(Left(Range(), InStr(Range(), ".") - 1)) - InStr(Range(), " "))

если точка не нужна. Если нужна убрать "- 1"
3. Right(Range(), Len(Range()) - InStr(Range(), ".") - 1)

В Range() внутри скобок укажи ячейку.
Aiden вне форума Ответить с цитированием
Старый 06.08.2010, 14:49   #3
KNatalia
Пользователь
 
Регистрация: 14.08.2009
Сообщений: 66
По умолчанию

Спасибо!
А если название разбито на несколько строк, как быть?
KNatalia вне форума Ответить с цитированием
Старый 06.08.2010, 15:38   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Есть в ячейке предложение, нужно
1. Извлечь первое слово до первого пробела
Код:
Sub test()
    txt = "строка с пробелами":
    ПервоеСлово = Split(txt, " ")(0)
    ВтороеСлово = Split(txt, " ")(1)
    ТретьеСлово = Split(txt, " ")(2)
    ' ...
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 06.08.2010, 16:11   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

хмм... тогда надёжнее так:
Код:
Sub test()
    txt = "строка   с   пробелами":
    ПервоеСлово = Split(Application.Trim(txt), " ")(0)
    ВтороеСлово = Split(Application.Trim(txt), " ")(1)
    ТретьеСлово = Split(Application.Trim(txt), " ")(2)
    ' ...
End Sub
И если разбита - ничего не меняется, но перевод строки остаётся как слово:
Код:
Sub test()
Sub test()
    txt = "строка   с   " & vbNewLine & " пробелами": Debug.Print txt
    ПервоеСлово = Split(Application.Trim(txt), " ")(0)
    ВтороеСлово = Split(Application.Trim(txt), " ")(1)
    ТретьеСлово = Split(Application.Trim(txt), " ")(2)
    ' ...
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 06.08.2010 в 16:17.
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как извлечь слово из текстовой ячейки по заданному шаблону и поместить в соседнюю ячейку? Aleox Microsoft Office Excel 4 27.11.2009 19:58
слово, слудующее после пробела peq Microsoft Office Excel 2 26.11.2009 18:46
Определить первое слово, начинающееся с заданного символа. Нездешний Помощь студентам 11 18.10.2009 16:51