![]() |
|
Модераторы: mihanik |
![]()
|
|
| alek1987new |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 26.11.2009 Репутация: нет Всего: -1 |
Всем привет, мне инетересно, как можно сравнить столбец А листа 1 (количество элементов заранее не известно) со столбцом А листа2, записать одинаковые значения в лист3, а их тех листов удалить одинаковые значения. Заранее спасибо.
Добавлено через 13 секунд |
|||
|
||||
| LOPUH |
|
|||
![]() Растение ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 15.2.2008 Где: Красноярск Репутация: 3 Всего: 4 |
Ну подходов может быть много.. Несколько вопросов:
1. Какой тип сравниваемых элементов (предположим -это строки, тогда необходимо знать являются ли одинаковыми строки, набранные в разных регистрах, т.е. нам необходим критерий сравнения) 2. Могут ли столбцы содержать повторяющиеся элементы? 3. Одинаковые ли по "высоте" сравниваемые столбцы? В общем случае мы создаем массивы (частный случай-строки) из элементов столбцов и работаем с ними. При желании, в некоторых случаях можно попытаться обойтись без программирования, используя функции Excel СОВПАД, ПОИСК З.Ы. не стоит флудить смайликами.. Это сообщение отредактировал(а) LOPUH - 9.5.2010, 11:45 |
|||
|
||||
| alek1987new |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 26.11.2009 Репутация: нет Всего: -1 |
ответ
1. это строки ограниченного размера в 14 символов, любая ячейка содержит 14 символов 2. могут, но надо это исключить 3. спомощью массивов пробовал ничего не вышло |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Макрос на VBA.
Текст в студию -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| alek1987new |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 26.11.2009 Репутация: нет Всего: -1 |
вот текст
Добавлено через 29 секунд а как с помощью макроса сделать? |
|||
|
||||
| Hugo121 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.5.2010 Репутация: 1 Всего: 2 |
Цикл for each по столбцу А, ищем в Б, если нашли - копируем в С и оба значения удаляем. Если возможны повторы - поиск, пока всё не нашли в Б и затем (если нашли) так же в А, всё удаляем. Был бы пример - можно прикинуть конкретней, хотя лениво... (у меня есть уже готовый инструмент для таких операций, там только немного вручную сортировку и копи/паст приложить надо для этой задачи, поэтому неинтересно/бестолково писать). И непонятно, удалять только значение или строки целиком? (Тогда сперва Union, в конце удалять из А, или вместо for each цикл снизу. Если возможны повторы в А, тогда вероятно лучше Union, или удалять из А и Б, когда удалены повторы в А). А может достаточно просто определить значения, которых нет во втором листе, а остальные переместить? А из Б найденные удалить? И опять же, как часто это надо проделывать? Если возможно поработать вручную, дам инструмент. Если часто и надо всё на автомате - давайте конкретный пример в файле, на рабочих данных (чтоб структуру видеть). Это сообщение отредактировал(а) Hugo121 - 10.5.2010, 21:58 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Ну и нет тут никаких массивов... ты работаешь непосредственно с ячейками листа. Долго и неудобно. Да и логики в твоём коде маловато. В общем заведи 2 массива, загрузи в них данные с листов, отсортируй, а потом двухкурсорным спуском выкидывай дубли и переноси совпадения в третий массив. После чего вывали массивы на нужные листы. Ещё проще решать задачу, если вместо массивов взять коллекции. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |