Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
VisualBasic
(Модератор:
Naghual
) > Тема:
Сравнение строк из списка
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Сравнение строк из списка (Прочитано 13422 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Ino
Гость
Сравнение строк из списка
«
:
17-11-2008 17:14 »
Мы сами люди не местные) Помогите сделать макрос легкий, пожалуйста.
Допустим, есть книга с двумя листами. На одном листе есть список, например в столбце С, какое-то колличество строк. И на втором листе есть список - столбец В, тоже неизвестное число строк. Необходимо сравнить все строки из списка с первого листа на наличие совпадений во втором списке, и если совпадения есть, нужно в первом списке отметить совпавшую строку как угодно.
«
Последнее редактирование: 17-11-2008 19:53 от Ghost
»
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: Помогите пожалуйста, товарищи программисты
«
Ответ #1 :
17-11-2008 19:51 »
Ino
, я делаю тупо и без всяких макросов, зато оперативно:
1. Копирую столбцы на один лист и сортирую оба по отдельности по возрастанию.
2. Делаю формулу сравнения типа =ЕСЛИ(A1=A2;'-';'!!!!!!!!')
3. Копирую формулу по всей высоте наименьшего по высоте столбца.
4. Просматриваю результат вычисления сверху вниз: если увижу различие (обозначено "!!!!!!!!"), то смотрю, есть ли совпадения в этом районе и ниже и сдвигаю один из столбцов вниз вставкой пустых ячеек до тех пор, пока значения не совпадут.
5. Возвращается на п.3.
Метод прост и подходит для сравнения двух списков, имеющих мало отличий.
VBA просто не люблю, хотя макросы писал.
Слава дал вполне дельный совет: пройди по соседним темам - подобные вопросы задают часто. Отвечать он не обязан - никто тут никому не обязан.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Ino
Гость
Re: Сравнение строк из списка
«
Ответ #2 :
17-11-2008 19:59 »
RXL
, а я и не говорила, что обязан)
Спасибо большое, совет ценный. Правда мне надо именно макрос. Но это тоже очень пригодится, может даже вместо макроса прокатит) Огромное спасибо!)
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: Сравнение строк из списка
«
Ответ #3 :
17-11-2008 20:06 »
Да, к формуле: это для сравнения чисел. Функция сравнения строк - СОВПАД(A1;B1).
Нашел у себя такое:
Код: (Text)
Dim i As Integer
Dim n As Integer
For i = 1 To 90
For n = 1 To 597
If Worksheets("Лист1").Cells(n, 1) = Worksheets("Лист1").Cells(i, 3) Then
Worksheets("Лист1").Cells(i, 2) = Worksheets("Лист1").Cells(n, 4)
GoTo out
End If
Next n
out:
Next i
Думаю, тут не сложно будет догадаться, что сравнивается, что делается и как изменить.
«
Последнее редактирование: 18-11-2008 04:48 от RXL
»
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба
Offline
Пол:
Re: Сравнение строк из списка
«
Ответ #4 :
17-11-2008 20:08 »
гы
0.5 секунд
http://support.microsoft.com/kb/213367/ru
Записан
Мы все учились понемногу... Чему-нибудь и как-нибудь.
Naghual
Модератор
Offline
Пол:
ОПТИМИСТ
Re: Сравнение строк из списка
«
Ответ #5 :
17-11-2008 21:27 »
Ребятки (
Sla
и
Ino
).
Вы развели никому тут не нужный флуд.
Я уважаю мнение
Sla
(ибо сам такой-же), однако бывают такие ситуации, когда человеку необходим конкретный ответ.
Посему, правом данным мне (
Sla
угадай кем
), я вычищаю топик.
Записан
Ino
Гость
Re: Сравнение строк из списка
«
Ответ #6 :
17-11-2008 22:18 »
Ваа, огромное спасибо, ребята)) Что бы я без вас делала ^^ Очень большое спасибо))
Записан
npak
Команда клуба
Offline
Пол:
Re: Сравнение строк из списка
«
Ответ #7 :
18-11-2008 16:14 »
Есть еще рецепт без макроса
Рядом с каждой ячейкой из списка строк на первом листе записываем формулу
Код:
=COUNTIF(ОБЛАСТЬ_НА_ВТОРОМ_ЛИСТЕ, НАЗВАНИЕ_ЯЧЕЙКИ_СО_СТРОКОЙ)
Тогда в каждой ячейке с формулой будет число - сколько раз соответствующее слово встретилось во втором листе. Если не ноль, значит строка на втором листе есть
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
VisualBasic
(Модератор:
Naghual
) > Тема:
Сравнение строк из списка
Загружается...