![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.04.2011
Сообщений: 58
|
![]()
А столбец данных
Применен автофильтр по критерию (Пусть будет значение ячейки=1) Columns(1).AutoFilter Field:=1, Criteria1:="=1" Найдено 10 значений Итог ячейка А1 Заглавие столбца+10 видимых ячеек, со значением=1 Вопрос: Как узнать адресс каждой из 10 видимых ячеек. Достаточно номер строки, т.к. номер столбца известен Можно использовать: Set orange = [a2:a105] With orange А = orange.SpecialCells(xlVisible).Addr ess End With А-в итоге будет равна адресу всех видимых ячеек $A$2,$A$35,$A$58,$A$90..... и.т.д и из этой строки выбирать адреса, но хочется попроще Как присвоить переменной А адрес к примеру второй видимой ячейки? |
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
a = Split(orange.SpecialCells(xlVisible ).Address, ",")(2 - 1)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.04.2011
Сообщений: 58
|
![]()
Да, это работает....
Но не совсем то что хотелось...... После применения автофильтра у Вас есть столбец с 1 строкой (Cells(1,1) -заголовок и несколько видимых строк удовлетворяющих условию (в нашем случае=1), которые распологаются не подряд.... Пусть активная ячейка - заголовок столбца, т.е первая строка Тогда как обратиться ко второй строке (видимой)? По средствам ActiveCell.Offset(1,0) не получается ..... Если исп ActiveCell.Offset(1, 0).SpecialCells(xlVisible).Select Выделяются все видимы строки включая заголовок А надо сделать активной только вторую видимую ячейку в столбце А А уж опр адресс активной ячейки - это просто... |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 13.04.2011
Сообщений: 58
|
![]()
Додумался чтобы выделялись только видимые ячейки в столбце А (не вся строка) исключая заголовок
With [a2:a105].SpecialCells(xlVisible) .SpecialCells(xlVisible).Offset(xlV isible = True, 0).Select End With Может кто знает как из этого оставить выделенной только вторую видимую ячейку в столбце A? Или как присвоить видимым ячейкам столбца В номера выделенных ячеек столбца А? |
![]() |
![]() |
![]() |
#5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#6 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Цитата:
в В2=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(102;A$2:A2), тянете вниз по данным, применяете фильтры, смотрите... шлете деньги
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 02.06.2011 в 22:25. |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 13.04.2011
Сообщений: 58
|
![]()
[QUOTE=IgorGO;816124]"выделенных" - видимо видимых, извините за тавтологию.
Нет имелось ввиду именно выделенных, т.к. после With [a2:a105].SpecialCells(xlVisible) .SpecialCells(xlVisible).Offset(xlV isible = True, 0).Select End With В столбце А остаются выделенными только ячейки удовлетворяющие условию (критерию фильтра),а вот скрытые ячейки столбца не выделяются. Причем ActiveCell не заголовок столбца, а вторая видимая строка, Простите не строка,а ячейка.. На данный момент вопрос закрыт! Результат достигнут другим путем. Перемещение между видимыми ячейками происходит без опр адреса и без исп циклов . Решение оказалось довольно простым - по средствам включения в программу Intersect – пересечения двух диапазонов: 1. Диапазон фильтра 2. Видимых ячеек В итоге при выполнении макроса перемещение происходит последовательно по всем видимым (отфильтрованным значениям), причем как вниз, так думаю возможно организовать и обратное перемещение - вверх, аналогично табличному EXCEL при нажатии стрелок перемещения ВВЕРХ и ВНИЗ. 3 дня ушло на поиск в интернете 5 строчек кода!!!! Начал было уже думать, что простого решения НЕТ................ Спасибо всем за участие! Последний раз редактировалось clever77; 05.06.2011 в 03:31. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 16.07.2011
Сообщений: 9
|
![]()
Подскажите, а как заполнить текстовой константой ячейки первого столбца после применения автофильтра по содержимому второго столбца?
Спасибо. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Выделить ячейки первого столбца, в строку формул ввести текст, Ctrl+Enter.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#10 |
Регистрация: 16.07.2011
Сообщений: 9
|
![]()
Я неправильно сформулировал, сорри.
После записи макроса получился вот такой код Код:
Ну и адрес первой ячейки полсле применения автофильтра будет меняться Последний раз редактировалось CooperNick; 16.07.2011 в 20:15. Причина: забыл тег code |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить адрес ячейки? | PARTOS | Microsoft Office Excel | 9 | 31.10.2018 00:28 |
адресс ячейки через ссылку | mihakr | Microsoft Office Excel | 16 | 07.08.2011 08:29 |
Подготовка файла для применения автофильтра | Andrey-baykov | Microsoft Office Excel | 4 | 01.03.2011 15:18 |
Как определить IP-адресс компьютера в локальной сети? | SalasAndriy | C/C++ Сетевое программирование | 2 | 29.11.2007 02:09 |
Как определить координаты видимой части PaintBox? | Vladimir K. | Общие вопросы Delphi | 3 | 28.12.2006 10:02 |