Здравствуйте. Я хочу разобраться и сделать это задание, и мне нужна помощь. В приложенном файле есть два столбца необходимо сравнить "А" и "В" столбцы , ФИО которые совпадают окрасить в красный цвет , в обеих столбцах. А ФИО которые не совпадают окрасить в желтый цвет "В" столбца.После этого реализовать действие добавления из "В" столбца в "А" все ячейки желтого цвета. И удаление в столбце "А" все ячейки красного цвета.
Здравствуйте. Я хочу разобраться и сделать это задание, и мне нужна помощь. В приложенном файле есть два столбца необходимо сравнить "А" и "В" столбцы , ФИО которые совпадают окрасить в красный цвет , в обеих столбцах. А ФИО которые не совпадают окрасить в желтый цвет "В" столбца.После этого реализовать действие добавления из "В" столбца в "А" все ячейки желтого цвета. И удаление в столбце "А" все ячейки красного цвета.USSeRExcel
Если это практическая задача с целью найти в B тех, кого нет в A, и скопировать их куда-то - то просто в столбце C протягиваете формулу
Код
=COUNTIF(A:A,B1)
и затем фильтром отбираете строки/ячейки с нулями и копируете их куда угодно. Если учебная задача - то почитайте в учебнике про циклы и сравнение значений (ну или тут на форуме почти любой код можно изучить), затем рекордером запишите окраску любой ячейки в любой цвет (предположительно красный и жёлтый), ипользуйте код. Хотя в новых экселях эта окраска слишком усложнена, вот простая окраска: [vba]
Код
Sub test() Range("A1").Interior.ColorIndex = 3 Range("B1").Interior.ColorIndex = 6 End Sub
[/vba]
В общем алгоритм - цикл по ячейкам одного диапазона, внутри цикл по ячейкам другого диапазона, сравнение двух ячеек, по результату окраска "внешнего" диапазона. Затем можно повторить поменяв местами диапазоны. Неоптимально, но рабоче. Если делать оптимально - нужен словарь или коллекция, но я вообще не вижу смысла в этой покраске... Сразу куда нужно копируете те ячейки, которых нет в другом диапазоне - и зачем именно в тот столбец, который проверяете? Хотя через массив можно и так - сперва собрали в массив, затем очистили место и выгрузили собранное. Но это не для начинающих, которые ничего не понимают в VBA...
Если это практическая задача с целью найти в B тех, кого нет в A, и скопировать их куда-то - то просто в столбце C протягиваете формулу
Код
=COUNTIF(A:A,B1)
и затем фильтром отбираете строки/ячейки с нулями и копируете их куда угодно. Если учебная задача - то почитайте в учебнике про циклы и сравнение значений (ну или тут на форуме почти любой код можно изучить), затем рекордером запишите окраску любой ячейки в любой цвет (предположительно красный и жёлтый), ипользуйте код. Хотя в новых экселях эта окраска слишком усложнена, вот простая окраска: [vba]
Код
Sub test() Range("A1").Interior.ColorIndex = 3 Range("B1").Interior.ColorIndex = 6 End Sub
[/vba]
В общем алгоритм - цикл по ячейкам одного диапазона, внутри цикл по ячейкам другого диапазона, сравнение двух ячеек, по результату окраска "внешнего" диапазона. Затем можно повторить поменяв местами диапазоны. Неоптимально, но рабоче. Если делать оптимально - нужен словарь или коллекция, но я вообще не вижу смысла в этой покраске... Сразу куда нужно копируете те ячейки, которых нет в другом диапазоне - и зачем именно в тот столбец, который проверяете? Хотя через массив можно и так - сперва собрали в массив, затем очистили место и выгрузили собранное. Но это не для начинающих, которые ничего не понимают в VBA...Hugo
это задание дали мне на преддипломной практике , но я не изучал ексел на столько , они еще просили это дело оформить в делфи или си шарп, если можно пример рабочий может дальше пойму как и что делать
это задание дали мне на преддипломной практике , но я не изучал ексел на столько , они еще просили это дело оформить в делфи или си шарп, если можно пример рабочий может дальше пойму как и что делатьUSSeRExcel
По делфи/шарпам я вообще пас, но думаю что сделать можно Только не понятно зачем вообще красить и как вообще должен выглядеть результат. Покажите в том же файле на другом листе. И какие на практике объёмы? Это тоже важно.
По делфи/шарпам я вообще пас, но думаю что сделать можно Только не понятно зачем вообще красить и как вообще должен выглядеть результат. Покажите в том же файле на другом листе. И какие на практике объёмы? Это тоже важно.Hugo
Не, ну чё, нормальное задание для студента. Главное, что бы было выполнено. А потом, начнет работать, придет на форум с более серьёзным заданием, а мы поможем. Правильно Павел? Ну а пока информация для размышления, разбирайся.
Не, ну чё, нормальное задание для студента. Главное, что бы было выполнено. А потом, начнет работать, придет на форум с более серьёзным заданием, а мы поможем. Правильно Павел? Ну а пока информация для размышления, разбирайся.Wasilich
Огромное спасибо за уделенное внимание, и отдельное Спасибо Wasilic! Задание выполнено на отлично, и да я предполагаю что не надолго оторвусь от дальнейшего изучения ексел. Тему прошу закрыть
Огромное спасибо за уделенное внимание, и отдельное Спасибо Wasilic! Задание выполнено на отлично, и да я предполагаю что не надолго оторвусь от дальнейшего изучения ексел. Тему прошу закрыть USSeRExcel