Страницы: 1 2 След.
RSS
Как сгенерировать данные из двух массивов в 1 путем поочередного соединения элементов?
 
Всем привет!

Не кидайте камнями, я в поиск ходил, но не нашел подобного ответа или решения.
На входе у нас два массива данных, с одинаковым ключем:
     
КлючЗначение 2
Ключ1Яблоко;Груша
Ключ2Персик;Ананас

и второй:    
КлючЗначение
Ключ1россия;индия;
Ключ2сша;китай;
Мне нужно, взять

поочередно значения у первого эллемента, и приставить им поочередно значения из второго массива:
       
Ключ
Ключ 1Яблоко россия
Ключ 1Яблоко индия
Ключ 1Груша россия
Ключ 1Груша индия
Ключ 2Персик сша
Ключ 2Персик китай
Ключ 2Ананас сша
Ключ 2Ананас китай
Изменено: kamwork - 01.06.2016 13:06:15
 
Один из множества возможных вариантов посмотрите во вложении.
1. Количество строк не ограничено.
2. Ключи в столбцах не должны повторяться.
3. Разделитель в значениях - ";"
Изменено: SAS888 - 01.06.2016 07:44:00
Чем шире угол зрения, тем он тупее.
 
SAS888, спасибо! А как мне данное решение интегрировать в уже созданный файл?
 
kamwork, не  нужно писать через 1-2 строки.
 
Юрий М, что не нужно писать через 1-2 строки? я вас не понимаю
 
Сообщение не нужно растягивать.
 
Всё Вы поняли - ведь исправили своё стартовое сообщение? Я именно про него говорил.
По вопросу: посмотрите и мой вариант. Не универсально: сделано исключительно под Ваш пример, исходя из того, что разделены всегда два значения во втором столбце массивов.
 
Это я исправил
 
Цитата
vikttur написал:
Это я исправил
Нужно было поручить это автору темы )
 
Юрий М, спасибо. Я понял, что вы имели ввиду, но если честно не понимаю, чем плохо, когда сообщение логически бьется отделяя смысловые блоки пустой строкой. Почитаю правила :)
 
А мой вариант в #7 проверили?
 
Юрий М, да, все работает. Ваш метод запустился на более ранней версии EXCEL, нежели метод SAS888 Но немного посидев и поработав с файлом, понял, что я погорячился с 4мя столбцами и достаточно трех: ключ, значение 1, значение 2. Без поиска по совпадению ключа. И получается, что можно более просто реализовать. Но покопавшись в коде, у меня не вышло. Если будет время, сможете поправить? Буду очень благодарен. Файл прикрепляю.  
 
Ближе к вечеру гляну.
 
Проверяйте.
 
Цитата
kamwork написал:
Юрий М , да, все работает. Ваш метод запустился на более ранней версии EXCEL, нежели метод  SAS888
Интересно, что же это за версия такая?
 
Юрий М, спасибо! Работает
 
RAN, затрудняюсь ответить. У меня две ОС стоит, на маке офис не запустил макрос, на винде 2016 офис норм
 
А причем тут код?
Просто огрызочный кнопку не видит.
 
RAN, я к сожалению деталей не знаю :) Может и так
 
kamwork, а на Маке Alt+F8 работает? Появляется список макросов?
 
Котяра, там
Код
Private Sub CommandButton1_Click()
 
Юрий М, мне уже дико не удобно.. Но если 1 строка будет пустой (любая), то скрипт ошибку выдает :( В прошлом скрипте такой проблемы не было..
UPDATE причина в другом была.. все работает :)
Изменено: kamwork - 01.06.2016 22:33:33
 
Нужно добавлять проверку на пустую строку. И я предупреждал, что в таком виде макрос неуниверсален: только если два значения в столбцах В и С.
 
Юрий М, да.. про два значения я пропустил как то :( у меня может быть и 5 и 1. И заканчиваться может на ; после чего идти пустота.. В этом плане вариант от SAS888 был более правильным. Но как его поправить увы не знаю. эх
 
Цитата
kamwork написал:
про два значения я пропустил как то  у меня может быть и 5 и 1
А ведь в Правилах написано:
Цитата
2.3. Приложите файл(ы) с примером (общим весом не более 100 Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.
Ну вот почему было СРАЗУ не показать в своём файле все возможные варианты заполнения?
 
Юрий М, торопился :) В целом вроде разобрался с кодом  SAS888 и сгенерировал все верно. Всем огромное спасибо! У вас замечательный форум!
 
Всем привет!

Как писал выше, для работы взял макрос от SAS888 , чуть чуть его доработал, что бы удалял лишние знаки. Но Столкнулся со следующей проблемой:
На входе:
Скрытый текст
На выходе:
Скрытый текст
Но проблема в том, что если поменять местами:
Скрытый текст
То результат получается уже такой:
Скрытый текст
Не могу сообразить, что нужно подправить в макросе, что бы работало не зависимо от очередности.
 
Всем привет!
Подниму тему, может кто-то в субботу уделит 10 минуток времени и глянет в чем проблема? Очень нужно..  
 
Вот так не зависит.
Неизлечимых болезней нет, есть неизлечимые люди.
 
TheBestOfTheBest, к сожалению все равно разное кол-во получается :(
Страницы: 1 2 След.
Наверх