Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - Сложная задача по поиску и вхождению

Ответить
Настройки темы
2010 - Сложная задача по поиску и вхождению

Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Изменения
Автор: blackeangel
Дата: 03-04-2017
Всем добрый день. Задача сложная,но наверное интересная. В общем не знаю даже как описать то, что нужно сделать, но это делаю каждый день руками.
Прилагается пример, до и как должно быть на разных листах.
На вопросы типа выложи оригинал-отвечаю это и есть оригинал.Реальный мой рабочий файл.

Отправлено: 09:32, 15-12-2015

 

Динохромный


Contributor


Сообщения: 711
Благодарности: 321

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
В общем не знаю даже как описать то, что нужно сделать »
Честно говоря, из изменений вижу только фильтры.
Если вопрос в них - выделяете любую ячейку, жмете F5 - выделить - текущая область (либо выделяете мышкой), потом жмете ctrl+L и получаете фильтры и кучу других плюшек.
Если вопрос не в них - поясните пожалуйста, что вы хотите сделать.

Отправлено: 10:04, 15-12-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


a_axe,
Цитата a_axe:
Если вопрос не в них - поясните пожалуйста, что вы хотите сделать. »
Вопрос не в них. Если отмотать к наименованию кабель или жгут или провод, то будет видна разница между до и после. Просто реально не могу объяснить. У нас это называется дошлифовать, и все понимают,но человеку со стороны это не объяснить,поэтому я и показываю на примере живом.

-------
Забудем боль, забудем страх -
И только ветер в парусах!


Отправлено: 10:15, 15-12-2015 | #3


Динохромный


Contributor


Сообщения: 711
Благодарности: 321

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
кабель или жгут или провод, то будет видна разница между до и после. »
насколько я понимаю, вы хотите заполнить пустые ячейки столбца "ПредвАрх" значением из предыдущей непустой ячейки, при условии что значение в ячейках "Наименование" также будет совпадать? Если да - что нужно делать с ячейками D2, D3, D9-D11, D16, D27, D34 и в соответствие с какими соображениями?
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:30, 15-12-2015 | #4


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Не только в "ПредвАрх",но и в "Карточки". Пустые пропускать.Так как видно если нет в одном столбце,то есть в другом.

Отправлено: 10:36, 15-12-2015 | #5


Динохромный


Contributor


Сообщения: 711
Благодарности: 321

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
Так как видно если нет в одном столбце,то есть в другом. »
В вашем примере - не всегда.
Могу предложить следующий вариант: вашу таблицу необходимо отформатировать как "умную" таблицу эксель:
Цитата a_axe:
жмете F5 - выделить - текущая область (либо выделяете мышкой), потом жмете ctrl+L »
Наименование заголовков должно быть как в вашем примере. Таблица должна иметь название "Таблица1" (изменить можно во вкладке "Конструктор" - Имя таблицы).
После этого запускаем макрос:
Код
Цитата:
Sub ins_art()


Dim myCell As Range
Dim i As Integer
For i = 2 To Range("Таблица1").Rows.Count

If Range("Таблица1[Карточки]").Rows(i) = "" And _
Range("Таблица1[ПредвАрх]").Rows(i) = "" And _
Range("Таблица1[Наименование]").Rows(i).Value = Range("Таблица1[Наименование]").Rows(i - 1).Value Then
If Range("Таблица1[Карточки]").Rows(i - 1).Value <> "" Then
Range("Таблица1[Карточки]").Rows(i).Value = Range("Таблица1[Карточки]").Rows(i - 1).Value
Range("Таблица1[Карточки]").Rows(i).Interior.ColorIndex = 3

ElseIf Range("Таблица1[ПредвАрх]").Rows(i - 1).Value <> "" Then
Range("Таблица1[ПредвАрх]").Rows(i).Value = Range("Таблица1[ПредвАрх]").Rows(i - 1).Value
Range("Таблица1[ПредвАрх]").Rows(i).Interior.ColorIndex = 3
End If


End If

Next i
End Sub

Код перебирает все ячейки столбцов "Карточки" и "ПредвАрх", если находит две пустые, стоящие рядом, проверяет что Наименование совпадает с Наименованием предыдущей строки, если да - проверяет над какой из ячеек непустая ячейка и копирует ее в текущую строку, помечая ячейку красным цветом в целях контроля. Форматирование нужно снять потом вручную.

Отправлено: 11:39, 15-12-2015 | #6


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


a_axe, а почему все тоже самое нельзя сделать без "умной" таблицы?
В чем собсно её отличие от той что есть?
Цитата a_axe:
Цитата blackeangel:
Так как видно если нет в одном столбце,то есть в другом. »
В вашем примере - не всегда.
Цитата blackeangel:
Пустые пропускать.

Последний раз редактировалось blackeangel, 15-12-2015 в 12:36.


Отправлено: 11:59, 15-12-2015 | #7


Динохромный


Contributor


Сообщения: 711
Благодарности: 321

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
все тоже самое нельзя сделать без "умной" таблицы? »
Собственно - можно. Чисто технически обращаться к таблице проще и нагляднее - независимо от того, добавляли ли вы туда строки или нет, есть ли данные на листе кроме этой таблицы или нет. Отформатировать ее можно так, что она вообще не будет отличаться от просто ячеек листа. Вопрос встречный - а какие соображения есть, чтобы не форматировать ее как умную таблицу?
Цитата blackeangel:
В чем собсно её отличие от той что есть? »
В кучке дополнительных плюшек и вафелек, начиная от удобного форматирования, заканчивая структурированными ссылками на содержимое.

ЗЫ. Ячейки, не попадающие под условие - пропускаются.

Добавлено:
Например, если вы в середину таблицы вставите еще 17 столбцов, для умной таблицы программу менять не нужно - все как было, так и останется. А если программу написать для просто диапазона - придется проверять и корректировать все ссылки.

Последний раз редактировалось a_axe, 15-12-2015 в 12:37.


Отправлено: 12:19, 15-12-2015 | #8


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата a_axe:
Цитата blackeangel:
все тоже самое нельзя сделать без "умной" таблицы? »
Собственно - можно. Чисто технически обращаться к таблице проще и нагляднее - независимо от того, добавляли ли вы туда строки или нет, есть ли данные на листе кроме этой таблицы или нет. Отформатировать ее можно так, что она вообще не будет отличаться от просто ячеек листа. Вопрос встречный - а какие соображения есть, чтобы не форматировать ее как умную таблицу?
Цитата blackeangel:
В чем собсно её отличие от той что есть? »
В кучке дополнительных плюшек и вафелек, начиная от удобного форматирования, заканчивая структурированными ссылками на содержимое.

ЗЫ. Ячейки, не попадающие под условие - пропускаются.

Добавлено:
Например, если вы в середину таблицы вставите еще 17 столбцов, для умной таблицы программу менять не нужно - все как было, так и останется. А если программу написать для просто диапазона - придется проверять и корректировать все ссылки.
А диапазон у нас простой вроде от 2 до последней не пустой строки строки.
А проверки через if,do while и тп
Сначала найти в каком столбце есть,запомнить,проверить есть в следующем вхождение,потом дописать значение и тп

Отправлено: 16:29, 15-12-2015 | #9


Динохромный


Contributor


Сообщения: 711
Благодарности: 321

Профиль | Отправить PM | Цитировать


blackeangel, диапазон не сложный, проверки реализуются в том числе с помощью указанных Вами операторов, алгоритм также может быть таким. Нужно только написать другую программу, поэтому хотелось бы получить ответ на вопрос:
Цитата a_axe:
Вопрос встречный - а какие соображения есть, чтобы не форматировать ее как умную таблицу? »

Отправлено: 16:44, 15-12-2015 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - Сложная задача по поиску и вхождению

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Вопросы по поиску папок и файлов 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




 
Переход