N
Nowichok
Всем привет. Распишу в общем проблему. Имеется файл Excel'я. Возьмём 3 поля (их больше в реальности) - Наименование закзачика, Наличие лицензии, Предписание.
Т.к. у каждого закзачика может быть много предписаний и нужно отслеживать их выполнение, то каждое предписание находится в отдельной строке. А поля заказчика и предписания представляют собой объединение нескольких строк, чтобы охватывать все предписания.
Возьмём одного заказчика. Т.е. если у нас есть 3 предписания и они находятся в ячейках С1,С2,С3, то поле "Наименование закзачика" - это объединённые ячейки A1,A2,A3. То же самое и с полем "Наличие лицензии". Причём адрес поля "Наличие лицензии", ест-но, B1, как адрес первой ячейки среди объединённых.
И таких заказчиков сотни.
Теперь о проблеме - если делается фильтр по полю лицензии, то для каждого учреждения появляется только ОДНА запись из поля "Предписание". Это происходит из-за того, что поле лицензии имеет адрес B1 (для нашего примера), и для данного учреждения в фильтр попало ТОЛЬКО поле C1. А НАДО, чтобы все поля - C1,C2,C3.
Не вижу другого способа,как написания программы (пишу на Delphi), которая бы сама искала нужное, выполняя функции фильтра. Но для этого нужно знать вот что - есди программа рассматривает ячейку A1, то она должна понять, что это объединённая ячейка и состоит из 3 ячеек. Т.е. нужно знать количество объединённых ячеек.
Думаю, подробно описал. Буду рад других способам решения.
Надеюсь на помощь
Т.к. у каждого закзачика может быть много предписаний и нужно отслеживать их выполнение, то каждое предписание находится в отдельной строке. А поля заказчика и предписания представляют собой объединение нескольких строк, чтобы охватывать все предписания.
Возьмём одного заказчика. Т.е. если у нас есть 3 предписания и они находятся в ячейках С1,С2,С3, то поле "Наименование закзачика" - это объединённые ячейки A1,A2,A3. То же самое и с полем "Наличие лицензии". Причём адрес поля "Наличие лицензии", ест-но, B1, как адрес первой ячейки среди объединённых.
И таких заказчиков сотни.
Теперь о проблеме - если делается фильтр по полю лицензии, то для каждого учреждения появляется только ОДНА запись из поля "Предписание". Это происходит из-за того, что поле лицензии имеет адрес B1 (для нашего примера), и для данного учреждения в фильтр попало ТОЛЬКО поле C1. А НАДО, чтобы все поля - C1,C2,C3.
Не вижу другого способа,как написания программы (пишу на Delphi), которая бы сама искала нужное, выполняя функции фильтра. Но для этого нужно знать вот что - есди программа рассматривает ячейку A1, то она должна понять, что это объединённая ячейка и состоит из 3 ячеек. Т.е. нужно знать количество объединённых ячеек.
Думаю, подробно описал. Буду рад других способам решения.
Надеюсь на помощь