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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2010, 14:09   #1
andrew1232
 
Регистрация: 01.03.2010
Сообщений: 4
По умолчанию Сравнение и вывод 4х колонок попарно

Здравствуйте
Тяжело в теме объяснить что мне нужно ... Места мало
Прошу помощи в написании макроса
Задача такая:
Есть массив данных (он в примере розовый), и есть второй массив (он в примере голубой). Колличество строк в обоих массивах произвольное. В 4ой и в 20ой колонках находятся номера (вагонов) которые нужно сравнить на совпадение (каждый с каждым). Есть ещё одно условие: эти номера считаются совпавшими не только если их числовые значения равны, но и если они имеют одинаковый номар накладной (это 3я и 19я колонки). Т.е. 4я и 3я колонка это номер вагона и его накладная сравниваются с 20ой и 19той колонками.
Сумбурно как-то получается у меня...
Если номера вагонов и номера накладных совпадают в розовом и голубом массивах, то мне надо вывести скажем начиная с 20той колонки строку изрозового массива+последнюю ячейку в этой строке из голубого.
Раньше требовалось сравнивать только номера вагонов и у меня есть макрос которым я это делал, он в файле примера прицеплен.
Сам я в VBA ничего не понимаю к сожалению, поэтому ещё раз прошу помочь, очень надо. Заранее благодарен.

P.s. В примере жирным бордюром обведено то что должно считаться совпавшим.
Вложения
Тип файла: rar хелп(2).rar (19.5 Кб, 14 просмотров)
andrew1232 вне форума Ответить с цитированием
Старый 02.03.2010, 17:56   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
то мне надо вывести скажем начиная с 20той колонки строку из розового массива+последнюю ячейку в этой строке из голубого.
Уточните конкретно ,что выводить.20 колонка-голубого цвета
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 02.03.2010, 18:21   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте andrew1232.
Ваша задача, как и все подобные задачи обработки табличных данных, легко решается с применением библиотеки ADO.
образец в файле.
Евгений.
Вложения
Тип файла: rar хелп_.rar (26.4 Кб, 11 просмотров)
Teslenko_EA вне форума Ответить с цитированием
Старый 02.03.2010, 18:39   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я думаю правильно понял Ваше желание
Вложения
Тип файла: rar хелп(2).rar (21.6 Кб, 14 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 02.03.2010, 19:24   #5
Sh_Alex
Пользователь
 
Регистрация: 02.02.2009
Сообщений: 59
По умолчанию

Попробовал решить Вашу задачу формулами. Получилось, но значительно утяжелило файл. Формулами можно и искомые строки выставлять подряд, без пробелов, но будет еще тяжелее.
С уважением, Александр.
Вложения
Тип файла: rar хелп(2).rar (33.5 Кб, 12 просмотров)
Sh_Alex вне форума Ответить с цитированием
Старый 03.03.2010, 01:37   #6
andrew1232
 
Регистрация: 01.03.2010
Сообщений: 4
По умолчанию to Doober

Сасибо за ответ,
ваш макрос выводит строку с совпадающим в обоих массивах номером вагона, но в каждом массиве этот вагон имеетр разный номер накладной.
А мне как раз нужно чтоб они совпадали
Т.е. номер вагона+номер накладной из одного массива накладной совпадает с номером вагона+номером накладной другого массива.
andrew1232 вне форума Ответить с цитированием
Старый 03.03.2010, 01:46   #7
andrew1232
 
Регистрация: 01.03.2010
Сообщений: 4
По умолчанию to Teslenko_EA

Спасибо за решение,
посмотрел код, для меня это тёмный лес конечно :(
можно вас попросить выводить в колонку S (Лист2) значения из колонки U (Лист1).

И не могли бы вы мне пояснить как позиционировать кнопку "выполнить" (ну передвинуть куда нибудь...)
andrew1232 вне форума Ответить с цитированием
Старый 03.03.2010, 01:53   #8
andrew1232
 
Регистрация: 01.03.2010
Сообщений: 4
По умолчанию to Sh_Alex

Спасибо за решение на формулах,
тут я хотя бы в состоянии понять на 70%
В этих массивах от месяца к месяцу количество строк варьирует.
В пимере их не много, а в реалях это очень прилично
Как мне поступать с формулами если я не знаю сколько у меня сторк ?
andrew1232 вне форума Ответить с цитированием
Старый 03.03.2010, 13:33   #9
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от andrew1232 Посмотреть сообщение
Сасибо за ответ,
ваш макрос выводит строку с совпадающим в обоих массивах номером вагона, но в каждом массиве этот вагон имеетр разный номер накладной.
А мне как раз нужно чтоб они совпадали
Т.е. номер вагона+номер накладной из одного массива накладной совпадает с номером вагона+номером накладной другого массива.
Полностью согласен -допустил грубейшую ошибку .
Исправил.Написал по возможности комментарии
Вложения
Тип файла: rar хелп(2).rar (22.3 Кб, 13 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 03.03.2010, 19:37   #10
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте andrew1232.
1. "..тёмный лес .." используя библиотеку ADO применяется SQL (структурированный язык запросов), познакомиться с ним можно с с помощью "азбуки" Мартина Грубера - Понимание SQL (1.28 Мб)
2. "..вас попросить выводить в колонку S..." добавьте а запрос обращение к условному третьему полю второй таблицы и Ваше желание будет выполнено : SELECT T1.*, t2.f3 FROM...
3. "позиционировать кнопку.." включив в панели инструментов Excel (Элементы утравления) Режим конструктора изменение положения и других свойств кнопки будут доступны.
Евгений.

Последний раз редактировалось Teslenko_EA; 03.03.2010 в 19:39.
Teslenko_EA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение системной даты и вывод данных. T-dayne БД в Delphi 5 09.02.2010 15:08
Сравнение двух листов и вывод в определённой последовательности ОlGa Microsoft Office Excel 1 29.01.2010 21:06
Сравнение значений в ячейках и вывод соообщения если не равно. Siver Microsoft Office Excel 2 18.12.2008 04:42
В одномерном масиве найти длинную цепочку стоящих попарно различных элементов Махряк Помощь студентам 0 05.12.2007 20:00
В одномерном масиве найти длинную цепочку стоящих попарно различных элементов Махряк Помощь студентам 0 29.11.2007 23:09