Один из множества возможных вариантов посмотрите во вложении. 1. Количество строк не ограничено. 2. Ключи в столбцах не должны повторяться. 3. Разделитель в значениях - ";"
Всё Вы поняли - ведь исправили своё стартовое сообщение? Я именно про него говорил. По вопросу: посмотрите и мой вариант. Не универсально: сделано исключительно под Ваш пример, исходя из того, что разделены всегда два значения во втором столбце массивов.
Юрий М, спасибо. Я понял, что вы имели ввиду, но если честно не понимаю, чем плохо, когда сообщение логически бьется отделяя смысловые блоки пустой строкой. Почитаю правила
Юрий М, да, все работает. Ваш метод запустился на более ранней версии EXCEL, нежели метод SAS888
Но немного посидев и поработав с файлом, понял, что я погорячился с 4мя столбцами и достаточно трех: ключ, значение 1, значение 2. Без поиска по совпадению ключа. И получается, что можно более просто реализовать. Но покопавшись в коде, у меня не вышло. Если будет время, сможете поправить? Буду очень благодарен. Файл прикрепляю.
Юрий М, мне уже дико не удобно.. Но если 1 строка будет пустой (любая), то скрипт ошибку выдает В прошлом скрипте такой проблемы не было.. UPDATE причина в другом была.. все работает
Юрий М, да.. про два значения я пропустил как то у меня может быть и 5 и 1. И заканчиваться может на ; после чего идти пустота.. В этом плане вариант от SAS888 был более правильным. Но как его поправить увы не знаю. эх
kamwork написал: про два значения я пропустил как то у меня может быть и 5 и 1
А ведь в Правилах написано:
Цитата
2.3. Приложите файл(ы) с примером (общим весом не более 100 Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.
Ну вот почему было СРАЗУ не показать в своём файле все возможные варианты заполнения?
Как писал выше, для работы взял макрос от SAS888 , чуть чуть его доработал, что бы удалял лишние знаки. Но Столкнулся со следующей проблемой: На входе:
Скрытый текст
JCB 3CX
JCB;jsb;jcb;gsb;ДжейСиБи
3CX;3 cx;3CX
JCB 3CX Super
JCB;jsb;jcb;gsb;ДжейСиБи
3CX Super;
На выходе:
Скрытый текст
Запрос
Категория/Офер
jcb 3cx
JCB 3CX
jcb 3 cx
JCB 3CX
jcb 3cx
JCB 3CX
jsb 3cx
JCB 3CX
jsb 3 cx
JCB 3CX
jsb 3cx
JCB 3CX
jcb 3cx
JCB 3CX
jcb 3 cx
JCB 3CX
jcb 3cx
JCB 3CX
gsb 3cx
JCB 3CX
gsb 3 cx
JCB 3CX
gsb 3cx
JCB 3CX
джейсиби 3cx
JCB 3CX
джейсиби 3 cx
JCB 3CX
джейсиби 3cx
JCB 3CX
jcb 3cx super
JCB 3CX Super
jsb 3cx super
JCB 3CX Super
jcb 3cx super
JCB 3CX Super
gsb 3cx super
JCB 3CX Super
джейсиби 3cx super
JCB 3CX Super
Но проблема в том, что если поменять местами:
Скрытый текст
JCB 3CX Super
JCB;jsb;jcb;gsb;ДжейСиБи
3CX Super;
JCB 3CX
JCB;jsb;jcb;gsb;ДжейСиБи
3CX;3 cx;3CX
То результат получается уже такой:
Скрытый текст
jcb 3cx super
JCB 3CX Super
jsb 3cx super
JCB 3CX Super
jcb 3cx super
JCB 3CX Super
gsb 3cx super
JCB 3CX Super
джейсиби 3cx super
JCB 3CX Super
jcb 3cx super
JCB 3CX
jsb 3cx super
JCB 3CX
jcb 3cx super
JCB 3CX
gsb 3cx super
JCB 3CX
джейсиби 3cx super
JCB 3CX
Не могу сообразить, что нужно подправить в макросе, что бы работало не зависимо от очередности.