Новости:

Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ

Главное меню

очистка ячеек (дублей)

Автор dr_peper, 22.11.2022, 07:51:23

« назад - далее »

dr_peper

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

dr_peper

Народ, помогите пожалуйста решить задачу

Дмитрий Щербаков(The_Prist)

Цитата: dr_peper от 22.11.2022, 07:51:23стандартные методы эксель не работает, удаляет строки со сдвигом вверх
тут есть проблема - Вы не написали и никоим образом не изобразили на какой результат рассчитываете. Я вот не понимаю, что значит удалить дубли, но не удалять строки. Удалить данные из ячеек, сделав их пустыми? По сути, если смотреть пример - все не так просто и без написания кода VBA не обойтись, т.к. Вам надо еще и динамически определять с какого по какой столбец есть повторения, а где нет.
Следовательно, тут уже не помощь нужна, а готовое решение. А для этого надо, чтобы у кого-то возникло желание из собственных побуждений это решение сделать.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

dr_peper

Понятно, что через vba  решать надо, но какими функциями пользоваться не приложу ума. Через if могу только оценить предыдущую строку, Но если она уже будет очищена, то дальше ступор. Натолкните хоть на мысль в какую сторону копать. Какими функциями или методами пользоваться

Дмитрий Щербаков(The_Prist)

#4
Цитата: dr_peper от 22.01.2023, 14:11:50какими функциями пользоваться не приложу ума
Вряд ли без опыта программирования Вам о чем-то скажут функции. Как писал выше - не так все просто - надо циклом идти не только по строкам, но и столбцам. Здесь скорее всего нужны будут еще и коллекции или словари, чтобы определять совпадения. Т.е. это не просто набор функций - это полноценный код.
По-любому нужны будут:
If ... Then, For ... Next, массивы или словари(Scripting.dictionary), конкатенация(&).
Условно(не оптимально), алгоритм может быть таким:

  • идете циклом по строкам, и для каждой строки цикл по столбцам в обратном порядке(от 19-го к 5-му)
  • собираете в одну строку значения всех ячеек строки
  • проверяете, есть ли такие же ниже
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Яндекс.Метрика Рейтинг@Mail.ru