Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разделение текста на части и перенос в другие ячейки - Страница 2 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 2 из 2«12
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Разделение текста на части и перенос в другие ячейки (Макросы/Sub)
Разделение текста на части и перенос в другие ячейки
Kuzmich Дата: Суббота, 28.05.2016, 21:17 | Сообщение № 21
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 216
Репутация: 40 ±
Замечаний: 0% ±

Excel 2003
Цитата
заставить данный макрос работать только с одной указанной ячейкой

Для ячейки А2
[vba]
Код

Sub test1()
Dim t, t1, t2, t3
With CreateObject("VBScript.RegExp")
t = Range("A2")
.Pattern = "[а-яё]+": .IgnoreCase = True
    t1 = .Execute(t)(0)
    .Pattern = "\d+": .Global = True
If .Execute(t).Count > 1 Then t2 = .Execute(t)(.Execute(t).Count - 2): t3 = .Execute(t)(.Execute(t).Count - 1) Else t2 = .Execute(t)(.Execute(t).Count - 1): t3 = ""
    Range("A2") = Replace(Replace(Replace(t, t1, ""), t2, ""), t3, "")
    Range("A2") = t1: Range("B2") = t2: Range("C2") = t3
End With
End Sub
[/vba]
 
Ответить
Сообщение
Цитата
заставить данный макрос работать только с одной указанной ячейкой

Для ячейки А2
[vba]
Код

Sub test1()
Dim t, t1, t2, t3
With CreateObject("VBScript.RegExp")
t = Range("A2")
.Pattern = "[а-яё]+": .IgnoreCase = True
    t1 = .Execute(t)(0)
    .Pattern = "\d+": .Global = True
If .Execute(t).Count > 1 Then t2 = .Execute(t)(.Execute(t).Count - 2): t3 = .Execute(t)(.Execute(t).Count - 1) Else t2 = .Execute(t)(.Execute(t).Count - 1): t3 = ""
    Range("A2") = Replace(Replace(Replace(t, t1, ""), t2, ""), t3, "")
    Range("A2") = t1: Range("B2") = t2: Range("C2") = t3
End With
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 28.05.2016 в 21:17
giovanni Дата: Воскресенье, 29.05.2016, 01:11 | Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Для ячейки А2


Не хочет работать :(
Выдает ошибку: invalid procedure call or argument на строке [vba]
Код
t1 = .Execute(t)(0)
[/vba]
 
Ответить
Сообщение
Для ячейки А2


Не хочет работать :(
Выдает ошибку: invalid procedure call or argument на строке [vba]
Код
t1 = .Execute(t)(0)
[/vba]

Автор - giovanni
Дата добавления - 29.05.2016 в 01:11
Kuzmich Дата: Воскресенье, 29.05.2016, 10:30 | Сообщение № 23
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 216
Репутация: 40 ±
Замечаний: 0% ±

Excel 2003
Цитата
Выдает ошибку

Возможно в ячейке А2 нет русских букв.
Приведите ваш пример.
 
Ответить
Сообщение
Цитата
Выдает ошибку

Возможно в ячейке А2 нет русских букв.
Приведите ваш пример.

Автор - Kuzmich
Дата добавления - 29.05.2016 в 10:30
giovanni Дата: Воскресенье, 29.05.2016, 10:39 | Сообщение № 24
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Возможно в ячейке А2 нет русских букв.
Приведите ваш пример.


Здравствуйте!

Вроде, текст корректный, латиницы нет.
К сообщению приложен файл: 4966146.xlsm(17Kb)
 
Ответить
Сообщение
Возможно в ячейке А2 нет русских букв.
Приведите ваш пример.


Здравствуйте!

Вроде, текст корректный, латиницы нет.

Автор - giovanni
Дата добавления - 29.05.2016 в 10:39
Kuzmich Дата: Воскресенье, 29.05.2016, 11:22 | Сообщение № 25
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 216
Репутация: 40 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код

t = Range("A2")
.Pattern = "[а-яё]+": .IgnoreCase = True
[/vba]
 
Ответить
Сообщение[vba]
Код

t = Range("A2")
.Pattern = "[а-яё]+": .IgnoreCase = True
[/vba]

Автор - Kuzmich
Дата добавления - 29.05.2016 в 11:22
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Разделение текста на части и перенос в другие ячейки (Макросы/Sub)
Страница 2 из 2«12
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!