Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

Цитата:
Сообщение от 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, 00:20   #14
Elixi
Форумчанин
 
Регистрация: 10.05.2019
Сообщений: 163
По умолчанию

Цитата:
Сообщение от 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 в 00:22.
Elixi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие на основании активной формы vba s.p.il Microsoft Office Excel 2 13.04.2019 19: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 17:20
подстановка в поле подчинненной формы календаря tavoz Microsoft Office Access 4 04.12.2009 11:04