Здравствуйте. у меня такая проблемка: есть таблица с данными( данные спецификаций счетов). нужно сравнить столбцы А В С со столбцами К L М, и выделить пункты (в столбцах АВС) зелёным цветом. а затем сравнить К L M со столбцами А В С , и выделить пункты( в столбцах KLM) красным. Может у кого нибудь есть похожий пример, или кто -нибудь подскажет, как(или возможно ли) такое сделать?
Здравствуйте. у меня такая проблемка: есть таблица с данными( данные спецификаций счетов). нужно сравнить столбцы А В С со столбцами К L М, и выделить пункты (в столбцах АВС) зелёным цветом. а затем сравнить К L M со столбцами А В С , и выделить пункты( в столбцах KLM) красным. Может у кого нибудь есть похожий пример, или кто -нибудь подскажет, как(или возможно ли) такое сделать?Espada
Столбец сравнить со столбцом на наличие чего? Вы бы лучше в файле это сравнение показали (а с 55 сообщениями можно было разок правила прочитать).
Столбец сравнить со столбцом на наличие чего? Вы бы лучше в файле это сравнение показали (а с 55 сообщениями можно было разок правила прочитать).wild_pig
в столбцах данные по продукции. нужно сравнить данные в столбцах АВС, с данными в столбцах KLM, а потом сравнить данные из KLM с данными в столбцах ABC, и выделить их цветом.
в столбцах данные по продукции. нужно сравнить данные в столбцах АВС, с данными в столбцах KLM, а потом сравнить данные из KLM с данными в столбцах ABC, и выделить их цветом.Espada
Sub uuu() Dim a(), b() Dim i&, ii& With Range("A2:C" & Cells(Rows.Count, 1).End(xlUp).Row) .Interior.Color = 12379352 a = .Value End With With Range("K2:M" & Cells(Rows.Count, 6).End(xlUp).Row) .Interior.Color = 12040422 b = .Value End With For i = 1 To UBound(a) For ii = 1 To UBound(b) If a(i, 3) = b(ii, 3) Then Range(Cells(i + 1, 1), Cells(i + 1, 3)).Interior.Color = xlNone Next Next For i = 1 To UBound(b) For ii = 1 To UBound(a) If b(i, 3) = a(ii, 3) Then Range(Cells(i + 1, 6), Cells(i + 1, 8)).Interior.Color = xlNone Next Next End Sub
[/vba]
[vba]
Код
Sub uuu() Dim a(), b() Dim i&, ii& With Range("A2:C" & Cells(Rows.Count, 1).End(xlUp).Row) .Interior.Color = 12379352 a = .Value End With With Range("K2:M" & Cells(Rows.Count, 6).End(xlUp).Row) .Interior.Color = 12040422 b = .Value End With For i = 1 To UBound(a) For ii = 1 To UBound(b) If a(i, 3) = b(ii, 3) Then Range(Cells(i + 1, 1), Cells(i + 1, 3)).Interior.Color = xlNone Next Next For i = 1 To UBound(b) For ii = 1 To UBound(a) If b(i, 3) = a(ii, 3) Then Range(Cells(i + 1, 6), Cells(i + 1, 8)).Interior.Color = xlNone Next Next End Sub
и затем отфильтровать и если нужно закрасить, или УФ настроить (если не лень).
будут большие объёмы данных. формулу =СЧЁТЕСЛИ, сейчас пробую. отчёт этот формирую из ЕРП Галактика, и хочу чтобы после формирования, автоматом подключался макрос на обработку данных, тоесть прогоняло все данные и отмечало цветами. минимум ручной работы. пробую подогнать код который дал wild_pig, но пока не получается
и затем отфильтровать и если нужно закрасить, или УФ настроить (если не лень).
будут большие объёмы данных. формулу =СЧЁТЕСЛИ, сейчас пробую. отчёт этот формирую из ЕРП Галактика, и хочу чтобы после формирования, автоматом подключался макрос на обработку данных, тоесть прогоняло все данные и отмечало цветами. минимум ручной работы. пробую подогнать код который дал wild_pig, но пока не получаетсяEspada
Если большой объём, то цвета это не лучшее решение: 1.долго ставить 2.трудно анализировать глазами (хотя можно конечно фильтровать в новых версиях)
Я обычно или ставлю метки в соседнем столбце (по ним легко фильтровать/сортировать, и быстро ставятся), или что чаще - сразу отбираю нужное на другой лист. Вот зачем это всё Вам нужно?
Если большой объём, то цвета это не лучшее решение: 1.долго ставить 2.трудно анализировать глазами (хотя можно конечно фильтровать в новых версиях)
Я обычно или ставлю метки в соседнем столбце (по ним легко фильтровать/сортировать, и быстро ставятся), или что чаще - сразу отбираю нужное на другой лист. Вот зачем это всё Вам нужно?Hugo
2.трудно анализировать глазами (хотя можно конечно фильтровать в новых версиях)
расскажу как я себе представляю себе это в конце) выгружаются данные=> по ним проходит макрос, раскидывая по цветам(красный/ зелёный / бесцветный),потом на второй лист выводится таблица со всеми красными строками, а на третий таблица с зелёными значениями)
2.трудно анализировать глазами (хотя можно конечно фильтровать в новых версиях)
расскажу как я себе представляю себе это в конце) выгружаются данные=> по ним проходит макрос, раскидывая по цветам(красный/ зелёный / бесцветный),потом на второй лист выводится таблица со всеми красными строками, а на третий таблица с зелёными значениями)Espada
Ну так вот сразу и нужно эти строки/значения отбирать на другие листы. И нужно ли обязательно красить? На эту покраску будет тратиться 90% времени работы макроса. А вообще таких сравнений было на форуме думаю сотня-две, или даже больше, уже давно в очередной раз повторяться неинтересно.
Ну так вот сразу и нужно эти строки/значения отбирать на другие листы. И нужно ли обязательно красить? На эту покраску будет тратиться 90% времени работы макроса. А вообще таких сравнений было на форуме думаю сотня-две, или даже больше, уже давно в очередной раз повторяться неинтересно.Hugo
Реально можно разнести, но не удалить одинаковые (лишняя работа), а разнести только то, что нужно там видеть. Это если делать макросом и оптимально. Но если делать вручную, то так и делайте - скопипастили, протянули СЧЕТЕСЛИ(), отсортировали, удалили.
Чтоб писать код - нужна полная ясность по процессу: что с чем сравнивать, что именно копировать на другие листы.
Реально можно разнести, но не удалить одинаковые (лишняя работа), а разнести только то, что нужно там видеть. Это если делать макросом и оптимально. Но если делать вручную, то так и делайте - скопипастили, протянули СЧЕТЕСЛИ(), отсортировали, удалили.
Чтоб писать код - нужна полная ясность по процессу: что с чем сравнивать, что именно копировать на другие листы.Hugo