powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / сравнение ячеек в цикле
21 сообщений из 21, страница 1 из 1
сравнение ячеек в цикле
    #36585802
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите пожалуйста. Похожие темы были, но немного другие. Есть 2 таблицы, необходимо сделать сравнения значений в опр. столбцах, но сравнивать так, что бы при обнаружении одинаковых ячеек, опр. диапазон строки этой ячейки копировался в другую таблицу, в ту строку, где находится такая же ячейка. т.е. а1 в т.1. совпала с в3 в т.2 --> диапазон с3-е3 должен копироваться в диапазон с1-е1
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36585836
Фотография -O_o-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxMax2Добрый день. Помогите пожалуйста. Похожие темы были, но немного другие. Есть 2 таблицы, необходимо сделать сравнения значений в опр. столбцах, но сравнивать так, что бы при обнаружении одинаковых ячеек, опр. диапазон строки этой ячейки копировался в другую таблицу, в ту строку, где находится такая же ячейка. т.е. а1 в т.1. совпала с в3 в т.2 --> диапазон с3-е3 должен копироваться в диапазон с1-е1

Пример!!!!
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36585839
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вам это макросом надо?
Или через функции в ячейках?

Делал что-то похожее давно через функции, можете небольшой пример дать, что имеем и что хотелось бы увидеть в итоге?
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36585914
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub max()
W1 = ActiveWorkbook.Name
l1 = ActiveSheet.Name

Workbooks.Open ("C:\distrib\rh_macros\êíèãà2.xls")

W2 = ActiveWorkbook.Name
l2 = ActiveSheet.Name

For i = 1 To 100

If Workbooks(W1).Worksheets(l1).Cells(i, 1) <> Workbooks(W2).Worksheets(l2).Cells(i, 2) Then
Workbooks(W1).Worksheets(l1).Range("k" & i) = Workbooks(W2).Worksheets(l2).Range("c" & i)
End If
Next

Workbooks(W2).Close SaveChanges:=False
End Sub
Вот. Но здесь он просто их сравнивает и потом ставит в ячейку "к" в те строки где они были в w2, а мне нужно, чтоб копировались в первый лист именно в те строки, где есть схожие ячейки
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36585939
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таб.1
а1:1
а2:2
а3:3

таб.2
в1:3 с1:ффф d1:ддд
в2:2 с2:ыыы d2:жжж
в3:1
Нужно, чтоб с1 и d1 скопировались в третью строку (т.к. тройка у нас совпала с а3) а он их вставляет в первую таб.1
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36585964
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проще говоря как написать чтоб он сравнивал с диапазоном в1:в50 во второй книге, а не с Workbooks(W2).Worksheets(l2).Cells(i, 2) ? думаю это должно помочь.
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36585999
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делается это добавлением дополнительного поля, в котором значения в ячейках плюсуются как текстовые и по этому стобцу происходит поиск. Так-же можно этот стобец взять, если создавать с разделителями и потом обратно разбить на отдельные ячейки. А так ВПР().
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586045
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а1:ц


в4:ц с4:ккккккк
нужно, чтоб после сравнения а и в, значение с4:(ккккк) скопировалось в е1.
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586066
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mahoune,
был бы пример, я бы точно сказал, а так могу только посоветовать попробовать уже готовый код
http://hugo.nxt.ru/CompareFiles.Find.rar
Может быть подойдёт.
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586091
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теперь делаю так:
т.1
а1:ц
а2:ы
а3:ф

т.2
в4:ф
в5:ц
в6:ы

For i = 1 To 100

If Workbooks(W1).Worksheets(l1).Range("a" & i) <> Workbooks(W2).Worksheets(l2).Range("b" & i) Then
Workbooks(W1).Worksheets(l1).Range("k" & i).Value = 1 ' ставлю единицу просто для примера, чтоб понять.
End If
Next

так у меня к1:к6 ставятся единицы, а мне надо, чтоб только к1:к3 т.к. основная т.1
может переменную завести или еще как-то? помогите пожалуйста.
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586130
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот пример: на первом листе 3 ячейки, на втором тоже три + описание, необходимо, чтобы после сравнения столбцов а и в, описание из с,d,е скопировалось в лист1 строки 123(там где совпали значения), грубо говоря тоже в с,d,е
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586133
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586195
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxMax2, проверил - мой код подходит:

Файл - приёмник: C:\temp\primer.xls
Файл - источник: C:\temp\primer.xls
Столбцы сравнения в приёмнике: a
Столбцы сравнения в источнике: b
Лист - приёмник (№): 1
Лист - источник (№): 2
Столбцы - приёмники: b,c,d
Столбцы - источники: c,d,e
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586197
Фотография -O_o-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxMax2вот пример: на первом листе 3 ячейки, на втором тоже три + описание, необходимо, чтобы после сравнения столбцов а и в, описание из с,d,е скопировалось в лист1 строки 123(там где совпали значения), грубо говоря тоже в с,d,е
Может быть такое покатит???
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586241
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вставил модуль.
а как сделать, чтоб копировалось именно в те строки на листе1, где находятся эти одинаковые ячейки(1,2,3в данном случае)???
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586275
Фотография -O_o-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxMax2вставил модуль.
а как сделать, чтоб копировалось именно в те строки на листе1, где находятся эти одинаковые ячейки(1,2,3в данном случае)???
Честно не могу понять зачем вам макрос??? Если есть формула??? И при это не тяжелая...
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586283
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто это пример, потом вставлю и подгоню его. У меня 2 больших таблицы в разных документах, там куча всего будет переноситься и копироваться. Застопорился здесь, подтолкните пожалуйста.
Наверное необходимо завести еще одну переменную, чтоб разделить значения i для двух листов?
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586303
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще неправильно. начал проверять и удалять некоторые значения, все равно копирует строки со 2 листа на первый( Нужен нормальный цикл с переменными. а как его написать я не знаю.
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586399
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxMax2, чем мой код не подходит? Или даже не смотрели?
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586421
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И ещё - если у Вас 2 больших таблицы в разных документах, там куча всего будет переноситься и копироваться, то два цикла будут очень долго работать. Мой код тоже не спринтер, но цикл там один + поиск, так что побыстрее будет.
Хотя если вам надо именно копировать, то тогда мой код не подходит, он лишь копирует значения.
...
Рейтинг: 0 / 0
сравнение ячеек в цикле
    #36586768
MaxMax2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разбираюсь. Спасибо.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / сравнение ячеек в цикле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]