Excel это не сложно

Основные форумы => Вопросы по Excel и VBA => Тема начата: dr_peper от 22.11.2022, 07:51:23



Название: очистка ячеек (дублей)
Отправлено: dr_peper от 22.11.2022, 07:51:23
Всем доброго дня.
Подскажите, пожалуйста, каким образом можно реализовать очистку ячеек от дублирующей информации. Относительно вложенного файла это столбцы с 5 по 19 (выделены желтым ячейки, которые должны стать пустыми), ориентируясь на столбцы с 1 по 4 в которых допускается повторения.
Пробовал стандартные методы эксель не работает, удаляет строки со сдвигом вверх. 


Название: Re:очистка ячеек (дублей)
Отправлено: dr_peper от 21.01.2023, 15:03:46
Народ, помогите пожалуйста решить задачу


Название: Re:очистка ячеек (дублей)
Отправлено: Дмитрий Щербаков(The_Prist) от 21.01.2023, 15:33:51
стандартные методы эксель не работает, удаляет строки со сдвигом вверх
тут есть проблема - Вы не написали и никоим образом не изобразили на какой результат рассчитываете. Я вот не понимаю, что значит удалить дубли, но не удалять строки. Удалить данные из ячеек, сделав их пустыми? По сути, если смотреть пример - все не так просто и без написания кода VBA не обойтись, т.к. Вам надо еще и динамически определять с какого по какой столбец есть повторения, а где нет.
Следовательно, тут уже не помощь нужна, а готовое решение. А для этого надо, чтобы у кого-то возникло желание из собственных побуждений это решение сделать.


Название: Re:очистка ячеек (дублей)
Отправлено: dr_peper от 22.01.2023, 14:11:50
Понятно, что через vba  решать надо, но какими функциями пользоваться не приложу ума. Через if могу только оценить предыдущую строку, Но если она уже будет очищена, то дальше ступор. Натолкните хоть на мысль в какую сторону копать. Какими функциями или методами пользоваться


Название: Re:очистка ячеек (дублей)
Отправлено: Дмитрий Щербаков(The_Prist) от 23.01.2023, 08:31:18
какими функциями пользоваться не приложу ума
Вряд ли без опыта программирования Вам о чем-то скажут функции. Как писал выше - не так все просто - надо циклом идти не только по строкам, но и столбцам. Здесь скорее всего нужны будут еще и коллекции или словари, чтобы определять совпадения. Т.е. это не просто набор функций - это полноценный код.
По-любому нужны будут:
If ... Then, For ... Next, массивы или словари(Scripting.dictionary), конкатенация(&).
Условно(не оптимально), алгоритм может быть таким:
  • идете циклом по строкам, и для каждой строки цикл по столбцам в обратном порядке(от 19-го к 5-му)
  • собираете в одну строку значения всех ячеек строки
  • проверяете, есть ли такие же ниже