powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вытащить из ячейки данные через разделитель и выдать в табличном виде
4 сообщений из 4, страница 1 из 1
Вытащить из ячейки данные через разделитель и выдать в табличном виде
    #39028811
Vitas174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно из ячейки, в которой через разделитель перечислены по порядку данные, вытащить данные и оформить в табличном виде построчно, сохраняя общую структуру таблицы (поля заказ, статус).

См. файл.
Оригинальные данные для обработки - см. Лист "Оригинал"
Нужно сделать - см. Лист "Результат".

Я подготовил следующий алгоритм: шаг - функция в XLS - функция в VBA

1 шаг: Вычисляем полную длина символов в ячейке (А2) - ДЛСТР() - LEN()
2 шаг: Получаем данные в ячейке без разделителя - выкидываем разделитель - ПОДСТАВИТЬ() - SUBSTITUTE()
3 шаг: Узнаем длину символов в ячейке без разделителей - ДЛСТР() - LEN()
4 шаг: Вычисляем арифметически кол-во разделителей в ячейке (по сути кол-во итераций)
5 шаг: Ставим цикл
7 шаг: Поиск номера символа соответствующий разделителю (в нашем случае $) - ПОИСК() - SEARCH()
8 шаг: Возвращает кол-во указанных символов, начиная с первого - ЛЕВСИМВ() - LEFT()
9 шаг: зацикливаем только нужно сдвиг разделителя предусмотреть

вроде бы в XLS получил что нужно для первого значения и "ручками" для последующих.
в ручной макрос занес
но как назначить переменные, массивы и цикл - не зна

Мейби кто подскажет, хотя бы структуру макроса, детали я сам смогу дожевать и выложить в ветку.

Заранее большое спс всем откликнувшимся.
...
Рейтинг: 0 / 0
Вытащить из ячейки данные через разделитель и выдать в табличном виде
    #39028844
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень похоже на выбор данных из строки
...
Рейтинг: 0 / 0
Вытащить из ячейки данные через разделитель и выдать в табличном виде
    #39028858
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vitas1741 шаг: Вычисляем полную длина символов в ячейке (А2) - ДЛСТР() - LEN()
2 шаг: Получаем данные в ячейке без разделителя - выкидываем разделитель - ПОДСТАВИТЬ() - SUBSTITUTE()
3 шаг: Узнаем длину символов в ячейке без разделителей - ДЛСТР() - LEN()
4 шаг: Вычисляем арифметически кол-во разделителей в ячейке (по сути кол-во итераций)

Код: vbnet
1.
DelimiterCount = 1 + UBound(Split(StringWithDelimiters, Delimiter))



Vitas1745 шаг: Ставим цикл
7 шаг: Поиск номера символа соответствующий разделителю (в нашем случае $) - ПОИСК() - SEARCH()
8 шаг: Возвращает кол-во указанных символов, начиная с первого - ЛЕВСИМВ() - LEFT()
9 шаг: зацикливаем только нужно сдвиг разделителя предусмотреть

Код: vbnet
1.
2.
3.
4.
5.
ForEach OneCell In Range
  For i = 0 To DelimiterCount - 1
    OneValue = Split(OneCell.Value, Delimiter)(i)
  Next i
Next



Есссно коды - это только шаблоны, требующие обвязки и доработки.
...
Рейтинг: 0 / 0
Вытащить из ячейки данные через разделитель и выдать в табличном виде
    #39028940
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вытащить из ячейки данные через разделитель и выдать в табличном виде
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]