Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 13.11.2019, 16:08   #11
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 120
По умолчанию

ну в общем все работает, буду тестировать на оригинальном файле
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.11.2019, 16:13   #12
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 120
По умолчанию

вроде пока все работает как надо, спасибо
DMITRIY_78 вне форума Ответить с цитированием
Старый 13.11.2019, 16:26   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от DMITRIY_78 Посмотреть сообщение
вроде пока все работает как надо, спасибо
не за что!


вот кто-нибудь из местных Гуру Excel'я объяснил бы мне, что делает этот код:
Код:
            With ActiveSheet
                If .FilterMode Then .ShowAllData
                With .UsedRange
                    With Intersect(.Columns("N:O"), .Offset(1))
                        .Replace FilterDate, "=zz1", 2, , , , False, False
                        .Rows.Hidden = True
                    End With
                End With
            End With
            With [zz1].DirectDependents
                .Rows.Hidden = False
                .Formula = FilterDate
            End With
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.11.2019, 01:20   #14
Elixi
Пользователь
 
Регистрация: 10.05.2019
Сообщений: 63
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вот кто-нибудь из местных Гуру Excel'я объяснил бы мне, что делает этот код:
Присоединяюсь, тоже интересует.

Не понятный метод DirectDependents.
Код макроса целиком и файл-пример смотри в #10.

Что делают эти строки, т.е. метод Intersect() и как им пользоваться мне кажется понятно:

Код:
	  With ActiveSheet
                If .FilterMode Then .ShowAllData
                With .UsedRange
                    With Intersect(.Columns("N:O"), .Offset(1))
                        .Replace FilterDate, "=zz1", 2, , , , False, False
                        .Rows.Hidden = True
                    End With
                End With
            End With
Только для порядка:

Метод:
Intersect(Range1, Range2) возвращает прямоугольный Range объект на пересечении Range1 и Range2.
https://docs.microsoft.com/en-us/off...tion.intersect

Метод:
.Replace FilterDate, "=zz1"
значения ячеек (в данном диапазоне) которые равны значению переменной FilterDate
(у нас там дата), заменит значением "=zz1" (т.е. перепишет данные формулой).
https://docs.microsoft.com/en-us/off....range.replace
( вот только, если задача стоит скрыть не нужные и отобразить желанные строки,
пологаю неуместным переписивать данные, задачу можно решить и без этого,
но не суть и не важно это тут, интереснее ... )

Почему метод DirectDependents вдруг работает с объектами Range в которых
находятся строки "=zz1"? Откуда возник объект [zz1]? Это мне загадка:

Код:
            With [zz1].DirectDependents
                .Rows.Hidden = False
                .Formula = FilterDate
            End With
Или похоже не строки а какие-то свойства формул тут сработали?
И что за "прямые зависимости"? Как их вычислять?
Не понятно когда уместно и как пользоваться методом DirectDependents.
https://docs.microsoft.com/en-us/off...rectdependents
Ссилка не помогла.

Последний раз редактировалось Elixi; 23.11.2019 в 01:22.
Elixi вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие на основании активной формы vba s.p.il Microsoft Office Excel 2 13.04.2019 20:42
Создание формы, отчёта, макроса sportonly Microsoft Office Access 4 04.08.2013 14:17
Запуск макроса из формы tgm Microsoft Office Excel 2 09.06.2011 13:47
ввод данных календаря из формы на лист в текстовом формате serikov Microsoft Office Excel 3 24.03.2011 18:20
подстановка в поле подчинненной формы календаря tavoz Microsoft Office Access 4 04.12.2009 12:04


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS