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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2011, 13:46   #1
Монаx
 
Регистрация: 18.05.2011
Сообщений: 6
По умолчанию Распределение содержимого ячейки

Добрый день! Помогите советом как раскидать данные из одной ячейки по нескольким с помощью формул. Суть: необходимо из одной ячейки в которой много фирм раскидать на несколько ячеек где будет отдельно своя фирма, а так же из полученных ячеек достать в отдельные, номера телефонов и e-mail адреса.
З.Ы. : Текст в ячейке в перемешку цифры буквы разным размером.
Вложения
Тип файла: rar База.rar (4.5 Кб, 26 просмотров)
Монаx вне форума Ответить с цитированием
Старый 18.05.2011, 16:03   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Это вы вручную с сайта скопировали?
Excel может сам выполнить запрос к сайту - и результаты будут разбиты по ячейкам

Обязательно формулы? макрос не подойдёт?
Это надо сделать один раз, или раскидывать данные придётся регулярно?
EducatedFool вне форума Ответить с цитированием
Старый 18.05.2011, 16:23   #3
Монаx
 
Регистрация: 18.05.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Это вы вручную с сайта скопировали?
Excel может сам выполнить запрос к сайту - и результаты будут разбиты по ячейкам

Обязательно формулы? макрос не подойдёт?
Это надо сделать один раз, или раскидывать данные придётся регулярно?
Да это ручками с сайта сделано, ибо нет иной возможности достать более актуальную информацию. Формулы выбраны из за своей кажущейся простоты, так как с макросами дел не имел. Акция разовая далее необходимости в такой обработке не будет.
Монаx вне форума Ответить с цитированием
Старый 18.05.2011, 16:59   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Полпути, макрос:
Код:
Option Explicit

Sub tt()
Dim a, b, i
a = Split([a1], "Добавить Отзывы/Рейтинг")
ReDim b(1 To UBound(a) + 1, 1 To 1)
For i = 0 To UBound(a): b(i + 1, 1) = Application.Trim(Replace(a(i), "Добавить прайс-лист", "")): Next
[b1].Resize(UBound(a) + 1).Value = b
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 18.05.2011 в 17:01.
Hugo121 вне форума Ответить с цитированием
Старый 19.05.2011, 11:04   #5
Монаx
 
Регистрация: 18.05.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Полпути, макрос:
Код:
Option Explicit

Sub tt()
Dim a, b, i
a = Split([a1], "Добавить Отзывы/Рейтинг")
ReDim b(1 To UBound(a) + 1, 1 To 1)
For i = 0 To UBound(a): b(i + 1, 1) = Application.Trim(Replace(a(i), "Добавить прайс-лист", "")): Next
[b1].Resize(UBound(a) + 1).Value = b
End Sub
Правда не знаю как это использовать. Дольше буду разбираться. Уж лучше бы формулой.
Монаx вне форума Ответить с цитированием
Старый 19.05.2011, 12:07   #6
Монаx
 
Регистрация: 18.05.2011
Сообщений: 6
По умолчанию

Попробовал подставить как понял не получается, выдает пустые ячейки
Монаx вне форума Ответить с цитированием
Старый 19.05.2011, 12:09   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Клик по ярлыку листа - исходный текст - вставить код - выполнить
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.05.2011, 12:32   #8
Монаx
 
Регистрация: 18.05.2011
Сообщений: 6
По умолчанию

а принт скрин процесса если не сложно.
Монаx вне форума Ответить с цитированием
Старый 19.05.2011, 12:44   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Да что тут принтскринить?
Ярлык листа известно где, по нему правым мышом, в меню выбрать "исходный текст", в открывшееся окно закопипастить текст макроса.
Теперь ищем кнопку RUN - на панели или в меню.
Результатом будут вытянутые в столбик B данные вида
Цитата:
Ортикон ООО
Новосибирская обл., 630088, г. Новосибирск, Кировский р-н, ул. Сибиряков-Гвардейцев, д. 60 эт. 1

(383) 279-23-26 - телефон единая справочная

opt@mail.ru
Правда сейчас заметил косяк - там не всюду есть "Добавить Отзывы/Рейтинг", поэтому делить лучше по "Отзывы/Рейтинг", а "Добавить " потом убрать заменой.

Т.е.
Код:
Sub tt()
Dim a, b, i
a = Split([a1], "Отзывы/Рейтинг")
ReDim b(1 To UBound(a) + 1, 1 To 1)
For i = 0 To UBound(a): b(i + 1, 1) = Application.Trim(Replace(Replace(a(i), "Добавить прайс-лист", ""), "Добавить ", "")): Next
[b1].Resize(UBound(a) + 1).Value = b
End Sub
Хотя мне кажется, что если вставлять данные не в строку формул, а в ячейку - то они и сами должны по строкам примерно так расположиться, только с лишними "Добавить прайс-лист"...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 19.05.2011 в 12:53.
Hugo121 вне форума Ответить с цитированием
Старый 20.05.2011, 08:33   #10
Монаx
 
Регистрация: 18.05.2011
Сообщений: 6
По умолчанию

Спасибо всем за помощь.
Монаx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распределение платежей warfar Microsoft Office Excel 2 30.03.2011 08:58
Экспоненциальное распределение на C++ RayGGG Фриланс 1 28.02.2011 14:39
преобразование содержимого ячейки orange_rush Microsoft Office Excel 6 20.01.2011 12:10
Выравнивание содержимого ячейки Zhenya-Pvl HTML и CSS 2 22.09.2010 20:36
макрос для изменения содержимого ячейки Cawa1990 Microsoft Office Excel 6 24.03.2010 18:19