Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Выручайте! макросы, сравнение дат и повторяющиеся строки

Автор stas10, 25.05.2012, 22:50

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

stas10

1. Представьте, имеются строчки, в которых есть разные данные (по столбцам).
Одни из данных - ДАТА СОЗДАНИЯ СЧЕТА.
Необходимо - проверить во всех строчках эту дату на просроченность (30 дней), и если просрочена дата - выделить ВСЮ строчку.
т.е. дата СОЗДАНИЯ СЧЕТА+30дней - если больше чем СЕГОДНЯ,то выделить всю строку красным, например.
Как это написать в макросе?

2. Если вставить новую строку в конец, как проверить ее на повтор (по АРТИКУЛУ), и если она уже есть, то взять из нее новые данные (ПОСЛЕДНИЕ ДВА СТОЛБЦА С ДАТАМИ) и заменить в старой строке (ТОЛЬКО ДАТЫ)

Кто реально поможет, закину немного денег на телефон.

Poltava

Сделать то можно. Только пара вопросов.
1) +30 дней или все же месяц, то есть по такое же число следующего месяца
2) как должно работать ??? то есть как понять что вы добавили новую строку и нужно начать сравнение. Нажатие на кнопку, заполнение последнего ну или первого столбца в последней строке, или еще как то
3) по какому из артикулов сравнивать 1, 2 или 3 колонка ???
4) что сделать с последней строкой если совпадение найдено удалить ???
5) в файл добавляется по одной строке ??? сравнивать нужно только последнею
6) все макросами или можно скажем через условное_форматирование как в приложенном файле
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

stas10

Цитата: Poltava от 26.05.2012, 01:47
Сделать то можно. Только пара вопросов.
1) +30 дней или все же месяц, то есть по такое же число следующего месяца
2) как должно работать ??? то есть как понять что вы добавили новую строку и нужно начать сравнение. Нажатие на кнопку, заполнение последнего ну или первого столбца в последней строке, или еще как то
3) по какому из артикулов сравнивать 1, 2 или 3 колонка ???
4) что сделать с последней строкой если совпадение найдено удалить ???
5) в файл добавляется по одной строке ??? сравнивать нужно только последнею
6) все макросами или можно скажем через условное_форматирование как в приложенном файле
Заранее огромное спасибо!
Действительно важные вопросы, сегодня все уточню.
Могу точно сказать, что 3) надо сравнить по 1 артикулу (1 столбец) и по номеру заказа (3 столбец). Если совпадает, то мы берем последние две даты (послед. 2 столбца), обновляем их в старой строке, а новую-вставленную удаляем.
Я сегодня уточню, но скорее всего вставляться будут сразу несколько позиций в конец списка, и начальство хочет, чтобы сразу начиналась проверка на повтор.

Poltava

Как будут вставлять? ручками писать, откуда то копировать по одной строке, или сразу много строк копировать и вставлять, либо вообще программно? Откуда если из другого эксель файла то может есть смысл просто считывать отуда нужные данные и ничего никуда не копировать ручками? В общем вопросов больше чем ответов так что ждем.
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

stas10

Цитата: Poltava от 26.05.2012, 12:54
Как будут вставлять? ручками писать, откуда то копировать по одной строке, или сразу много строк копировать и вставлять, либо вообще программно? Откуда если из другого эксель файла то может есть смысл просто считывать отуда нужные данные и ничего никуда не копировать ручками? В общем вопросов больше чем ответов так что ждем.
прошу прощения за задержку, на работе нет доступа к инету. Делаю эти задания уже дома, но моих знаний не хватает.
Итак.
1) просто 30 дней
2) Строки будут вставлять, копируя из похожего файла (по столбцам все одинаково, просто в них новые даты). Копировать будут вручную (ctrl+v). Можно по одной, а можно и по несколько сделать - это как Вам и мне удобнее реализовать. как проще. Соответственно начать сравнить - либо сразу, либо по нажатию кнопки - как нам удобнее, проще сделать!
3) надо сравнить по 1 артикулу (1 столбец) и по номеру заказа (3 столбец). Если совпадает, то мы берем последние две даты (послед. 2 столбца), обновляем их в старой строке, а новую-вставленную удаляем.
4)если повтор, обновляем данные, вставленную удаляем(пункт 3)
5) да, в конец будут всталвять 1 или несколько, пофиг, как получится сделать
6)все равно, главное чтобы работало. Но, сегодня покапался в УФ и заметил, что работает оно как-то некоррекотно.
Если делать 1 часть через УФ, что надо писать в формуле?
я понял, что правильно как-то так: =ДАТАЗНАЧ(тут просматриваем каждую ячейку столбца D)+30<ТДАТА()



Poltava

В общем вот что я понял и как себе представляю. Есть кнопка при нажатии на которую ВСЯ база сравнивается находятся одинаковые артикулы сравниваются их даты и самые поздние даты обновляются на самые новые, а все остальные позиции удаляются.
Чем вас не устроило условное_форматирование ? у меня условие =$D2+30<ТДАТА() а область действия =$A$2:$H$41 но оно не совсем правильная тут для полного счастья нужно использовать динамический диапазон!
Если вам не кровь из носа нужно на завтра то постараюсь в понедельник предложить свой вариант. Кстати вы не думали о том чтоб не вставлять ручками а брать нужные данные из файла автоматом.
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.

stas10

Цитата: Poltava от 27.05.2012, 00:57
В общем вот что я понял и как себе представляю. Есть кнопка при нажатии на которую ВСЯ база сравнивается находятся одинаковые артикулы сравниваются их даты и самые поздние даты обновляются на самые новые, а все остальные позиции удаляются.
Чем вас не устроило условное_форматирование ? у меня условие =$D2+30<ТДАТА() а область действия =$A$2:$H$41 но оно не совсем правильная тут для полного счастья нужно использовать динамический диапазон!
Если вам не кровь из носа нужно на завтра то постараюсь в понедельник предложить свой вариант. Кстати вы не думали о том чтоб не вставлять ручками а брать нужные данные из файла автоматом.

все верно..
Но почему именно $D2? если поменять на $D3, то получатся уже другие результаты
Сегодня бы хоть что-нибудь показать..

stas10

затупил я жестко.
Так, я все понял, выделяет он верно.
Действительно, теперь бы динамический диапазон и решить вторую проблему с повтором.
Надеюсь на Вашу помощь

stas10

Решил задачу с диапазоном. Просто прописал, чтобы пустые ячейки не выделял красным.

Остается вторая задача с добавлением повторных строк

stas10


Poltava

А я только сел за отладку. Ну ладно если вам не уже не нужно то тогда не буду и делать
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.