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

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

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

Аватара для blackeangel

Старожил


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

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


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

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

 

Ветеран


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

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


Цитата a_axe:
Например, если вы в середину таблицы вставите еще 17 столбцов, для умной таблицы программу менять не нужно - все как было, так и останется. »
В середину — и в старых версиях проблем не будет. А вот если, как это обычно и бывает, добавлять в конец, перед строкой с «ручными» итогами — все ссылки в этих итоговых формулах придётся расширять для дополнения новой строки в итоги вручную. Я лично буквально молился на появившиеся в 2003-м «Списки».

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



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

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


Динохромный


Contributor


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

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


Iska, я имел ввиду не формулы рабочего листа, а работу VBA кода. Если не реализовывать в коде поиск по заголовкам, а например жестко забить номер столбца (пятый, шестой) и т.д. то при вставке в середину столбцов нужно менять код (например была ссылка на столбец пять, а после вставки он стал шестым - в коде пятерки на шестерки надо менять).
Если таки использовать поиск заголовков с автоматическим определением границ таблицы - так с форматированием в умную таблицу код проще. Есть столбец "Наименование" - хочешь седьмой, хочешь двадцатый столбец - форма обращения одинаковая. Кроме таблиц можно любые данные на листе иметь - а если использовать например UsedRange, то данные не всегда можно иметь в любом месте. У таблицы есть четкие границы, программно их искать не нужно. Про формулы вы написали, это тоже...
Абсолютно не утверждаю, что все нужно "кодить" обязательно через них, но в данном случае переделывать лень
Например в соседней теме на одном листе было 48 таблиц с одинаковыми заголовками. Понятно, что VBA решение можно было и без "умных" таблиц реализовать, но на мой взгляд - через те же именованные диапазоны. По сути таблицы их же и реализуют.
Цитата:
Я лично буквально молился на появившиеся в 2003-м «Списки».
Я со списками в 2003 к сожалению не работал , но как я понял - "умные" таблицы это их продолжение

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


Аватара для blackeangel

Старожил


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

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


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

Отправлено: 17:25, 15-12-2015 | #13


Ветеран


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

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


Цитата a_axe:
Iska, я имел ввиду не формулы рабочего листа, а работу VBA кода. »
Понял .


Цитата a_axe:
Я со списками в 2003 к сожалению не работал , но как я понял - "умные" таблицы это их продолжение »
Угу. Расширенное и углублённое.


Цитата blackeangel:
Ответ прост-исключить деятельность человека полностью »
В таком случае, Вам дорога не в Excel, а в Access или в 1С.

Отправлено: 18:56, 15-12-2015 | #14


Аватара для blackeangel

Старожил


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

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


Цитата Iska:
В таком случае, Вам дорога не в Excel, а в Access или в 1С.
Эээ...неее...именно Эксель, будь другие варианты конечно бы запользовал

Цитата a_axe:
но в данном случае переделывать лень
Вот это и объясняет...

Хотя мне не понятно для чего нужно её форматировать?
Что мешает её пользоваться как есть?

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


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


Ветеран


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

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


blackeangel, да не в форматировании дело. Мы получаем взаимосвязанную структуру вместо однородного поля независимых ячеек.

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


Аватара для blackeangel

Старожил


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

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


Цитата Iska:
blackeangel, да не в форматировании дело. Мы получаем взаимосвязанную структуру вместо однородного поля независимых ячеек.
Тогда тот же вопрос только про взаимосвязанную структуру.
Сдаётся мне она облегчает жизнь.Но она ж усложняет тем что за её пределы не вырвишься,да и как понял внутри неё тоже не все гладко...

Отправлено: 22:57, 15-12-2015 | #17


Ветеран


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

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


Цитата blackeangel:
Тогда тот же вопрос только про взаимосвязанную структуру. »
Для того, чтобы приложение «понимало», что вот это — набор взаимосвязанных ячеек, составляющих одно целое, Таблицу, вот это — шапка этой Таблицы, вот эти ячейки — её тело, к ним можно привязать итоги, как общие, так и промежуточные, на основе изменений вот в этом столбце. И так далее. Вся суть автоматизации (упрощённо) заключается в выявлении сущностей и установлении взаимных связей между ними. А Вы говорите «для чего?».

Цитата blackeangel:
Но она ж усложняет тем что за её пределы не вырвишься,да и как понял внутри неё тоже не все гладко... »
А зачем вообще «вырываться» и что именно «не гладко»?

Отправлено: 00:03, 16-12-2015 | #18


Аватара для blackeangel

Старожил


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

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


Форум тупит..вот накидал, но не работает почему то
Поправте что не так?
Код: Выделить весь код
Sub KD()
Application.ScreenUpdating = False
i = 2
sWhatFind1 = "Обозначение"
sWhatFind2 = "Карточки"
sWhatFind3 = "ПредвАрхив"
Cells.Find(What:=sWhatFind1, After:=ActiveCell, SearchOrder:=xlByColumns).Activate
ncolumn1 = ActiveCell.Column
Cells.Find(What:=sWhatFind2, After:=ActiveCell, SearchOrder:=xlByColumns).Activate
ncolumn2 = ActiveCell.Column
Cells.Find(What:=sWhatFind3, After:=ActiveCell, SearchOrder:=xlByColumns).Activate
ncolumn3 = ActiveCell.Column
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
Loop
Application.ScreenUpdating = True
End Sub

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


Отправлено: 09:55, 16-12-2015 | #19


Аватара для blackeangel

Старожил


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

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


Или я не в ту сторону плыву?

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



Компьютерный форум 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




 
Переход