![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - Сложная задача по поиску и вхождению |
|
|
2010 - Сложная задача по поиску и вхождению
|
Старожил Сообщения: 329 |
Всем добрый день. Задача сложная,но наверное интересная. В общем не знаю даже как описать то, что нужно сделать, но это делаю каждый день руками.
Прилагается пример, до и как должно быть на разных листах. На вопросы типа выложи оригинал-отвечаю это и есть оригинал.Реальный мой рабочий файл. |
|
Отправлено: 09:32, 15-12-2015 |
Динохромный Сообщения: 711
|
Профиль | Отправить PM | Цитировать Цитата blackeangel:
Цитата blackeangel:
Цитата a_axe:
Заниматься проверкой Вашего кода не имея сформулированной задачи - не самое разумное предложение. Для начала все-таки сформулируйте задачу, что должна сделать программа, а уже потом давайте разбираться с кодом. |
|||
Отправлено: 12:28, 16-12-2015 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 329
|
Профиль | Отправить PM | Цитировать Цитата a_axe:
|
|
Отправлено: 12:48, 16-12-2015 | #22 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата blackeangel:
![]() |
|
Отправлено: 14:49, 16-12-2015 | #23 |
Динохромный Сообщения: 711
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата blackeangel:
1. Не принципиально, но в коде фигурирует название столбца "ПредвАрхив", в примере "ПредвАрх", думаю Вы сами поправили и по факту у Вас одинаково. 2. Строчка If Cells(i, ncolumn2).Value Like Cells(i, ncolumn1).Value Then сравнивает значения ячеек столбца "Обозначение". Поскольку строки не совпадают полностью(например для указанной позиции "Провод" это будут МИЛБ.685614.503-02, МИЛБ.685614.503-03 и т.д.), условие соблюдаться не будет, пока строки не будут полностью одинаковы. Насколько я вижу, в файле таких совпадений не будет нигде. 3. В цикле у Вас идет проверка на совпадение ячеек в текущей строке столбцов "Обозначения" и "Карточки". Если не совпадают, больше никаких проверок этот участок кода не выполняет (в коде ниже - строки между двумя красными строками будут выполняться только если "Обозначения" четко равны "Карточкам".) Если условие выполняется (будем считать, что пункт 2 устранен), то идет проверка синей сточки кода. Если условие соблюдается (в коде оно подчеркнуто), то выполняется следующая строчка кода. Если не соблюдается, то выполняются дальнейшие проверки, в том числе - еще раз выполняется проверка If Cells(i + 1, ncolumn1).Value Like Cells(i, ncolumn1).Value (подчеркнуто второй раз). Это условие заведомо выполняться не будет (в коде это проверено четырьмя строчками выше, и если условие истинно, то в else мы в принципе не попадем). Вероятно, строчки End If не должны идти друг за другом. Вообще этот блок лучше реализовать через select case. Do While Cells(i, ncolumn1).Value <> Empty If Cells(i, ncolumn2).Value Like Cells(i, ncolumn1).Value Then If Cells(i + 1, ncolumn1).Value Like Cells(i, ncolumn1).Value Then Cells(i + 1, ncolumn2).Value = Cells(i, ncolumn1).Value Else If Cells(i, ncolumn3).Value Like Cells(i, ncolumn1).Value Then If Cells(i + 1, ncolumn1).Value Like Cells(i, ncolumn1).Value Then Cells(i + 1, ncolumn3).Value = Cells(i, ncolumn1).Value End If End If End If End If i = i + 1 |
||
Последний раз редактировалось a_axe, 22-12-2015 в 13:45. Отправлено: 12:06, 22-12-2015 | #24 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Вопросы по поиску папок и файлов | Vadikan | Microsoft Windows 7 | 248 | 23-02-2018 22:41 | |
Route/Bridge - Сложная задача для домашнего роутера | maxsoff | Сетевые технологии | 1 | 29-01-2011 07:50 | |
CMD/BAT - [решено] Вопрос по поиску с условием. | ajakzs | Скриптовые языки администрирования Windows | 6 | 15-10-2010 16:49 | |
Ресурс по поиску бесплатных эл. книг | Ser6720 | Новости информационных технологий | 4 | 09-02-2007 08:10 | |
Добавление в статью по поиску обновлений | Gangabass | Автоматическая установка Windows 2000/XP/2003 | 1 | 22-12-2006 08:54 |
|