Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выделение диапазона ячеек гиперссылкой по условию (формулой) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Выделение диапазона ячеек гиперссылкой по условию (формулой)
Dogestweek Дата: Воскресенье, 07.08.2022, 20:37 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

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

Когда в последнем столбце в ячейке есть любое значение, то при нажатии на гиперссылку выделяется диапазон ячеек в этих строчках (от B до F, 5 столбцов, одна строка). Так же, должны выделятся все строки в заданной таблице. (как через CTRL)

Без макросов, пожалуйста.

Файл прикрепляю.
К сообщению приложен файл: 0136804.xlsx (10.9 Kb)
 
Ответить
СообщениеВсем привет. Возникла необходимость выделить диапазон ячеек в массиве по условию с помощью гиперссылки.

Когда в последнем столбце в ячейке есть любое значение, то при нажатии на гиперссылку выделяется диапазон ячеек в этих строчках (от B до F, 5 столбцов, одна строка). Так же, должны выделятся все строки в заданной таблице. (как через CTRL)

Без макросов, пожалуйста.

Файл прикрепляю.

Автор - Dogestweek
Дата добавления - 07.08.2022 в 20:37
Egyptian Дата: Воскресенье, 07.08.2022, 22:51 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Dogestweek, Пусть меня поправят, но так как вы этого хотите, боюсь, не получится. Во всяком случай на старых офисах, 2016-2019. На новых, с поддержкой динамических массивов - не уверен, может да, может нет.
Чисто в экспериментальных целях собрал формулу, с массивом нужных адресов ячеек: при нажатии выделяется лишь первая строка.
Код
=HYPERLINK(SUBSTITUTE("#"&IFERROR(ADDRESS(ROW(A3:A1000)*(MOD(ROW(B2:B1000);2)=0);2;4;1)&":"&ADDRESS(ROW(A3:A1000)*(MOD(ROW(F2:F1000);2)=0);6;4;1);"?");"#?";"");"Select Rows")

Но...Почти всегда есть но. Это легко можно сделать с помощью условного форматирования. Посмотрите файл. В ячейке I2 выбираете "Включено"/"Выключено".
К сообщению приложен файл: 9971660.xlsx (11.9 Kb)
 
Ответить
СообщениеDogestweek, Пусть меня поправят, но так как вы этого хотите, боюсь, не получится. Во всяком случай на старых офисах, 2016-2019. На новых, с поддержкой динамических массивов - не уверен, может да, может нет.
Чисто в экспериментальных целях собрал формулу, с массивом нужных адресов ячеек: при нажатии выделяется лишь первая строка.
Код
=HYPERLINK(SUBSTITUTE("#"&IFERROR(ADDRESS(ROW(A3:A1000)*(MOD(ROW(B2:B1000);2)=0);2;4;1)&":"&ADDRESS(ROW(A3:A1000)*(MOD(ROW(F2:F1000);2)=0);6;4;1);"?");"#?";"");"Select Rows")

Но...Почти всегда есть но. Это легко можно сделать с помощью условного форматирования. Посмотрите файл. В ячейке I2 выбираете "Включено"/"Выключено".

Автор - Egyptian
Дата добавления - 07.08.2022 в 22:51
Nic70y Дата: Понедельник, 08.08.2022, 10:12 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 9006
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
доп.столбец
Код
=ЕСЛИ(F3<>"";";B"&СТРОКА()&":F"&СТРОКА();"")&H4
К сообщению приложен файл: 14.xlsx (11.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениедоп.столбец
Код
=ЕСЛИ(F3<>"";";B"&СТРОКА()&":F"&СТРОКА();"")&H4

Автор - Nic70y
Дата добавления - 08.08.2022 в 10:12
Egyptian Дата: Понедельник, 08.08.2022, 16:48 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Я тут взглянул на формулу Ника и подумал, что может не все так плохо и соорудил формулу, которой нужен как мин. Excel 2019.
Работоспособность проверить, увы не могу, эмулятор на UDF не дает такой возможности.
Код
=HYPERLINK(SUBSTITUTE(";"&TEXTJOIN(";";1;IFERROR(ADDRESS(ROW($A$3:$A$1000)*(MOD(ROW($B$2:$B$1000);2)=0);2;4;1)&":"&ADDRESS(ROW($A$3:$A$1000)*(MOD(ROW($F$2:$F$1000);2)=0);6;4;1);""));";";"#";1);"Select Rows")
К сообщению приложен файл: 9320897.xlsx (11.8 Kb)
 
Ответить
СообщениеЯ тут взглянул на формулу Ника и подумал, что может не все так плохо и соорудил формулу, которой нужен как мин. Excel 2019.
Работоспособность проверить, увы не могу, эмулятор на UDF не дает такой возможности.
Код
=HYPERLINK(SUBSTITUTE(";"&TEXTJOIN(";";1;IFERROR(ADDRESS(ROW($A$3:$A$1000)*(MOD(ROW($B$2:$B$1000);2)=0);2;4;1)&":"&ADDRESS(ROW($A$3:$A$1000)*(MOD(ROW($F$2:$F$1000);2)=0);6;4;1);""));";";"#";1);"Select Rows")

Автор - Egyptian
Дата добавления - 08.08.2022 в 16:48
Dogestweek Дата: Понедельник, 08.08.2022, 19:47 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Egyptian, Спасибо что откликнулись!!!!!!
 
Ответить
СообщениеEgyptian, Спасибо что откликнулись!!!!!!

Автор - Dogestweek
Дата добавления - 08.08.2022 в 19:47
Dogestweek Дата: Понедельник, 08.08.2022, 19:49 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, это то что мне и надо!! Спасибо огромное!!!!!
 
Ответить
СообщениеNic70y, это то что мне и надо!! Спасибо огромное!!!!!

Автор - Dogestweek
Дата добавления - 08.08.2022 в 19:49
Egyptian Дата: Понедельник, 08.08.2022, 20:44 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Dogestweek, Поначалу, я ошибочно решил, что вам нужно выделить каждую вторую строку, но дело оказалось проще, чем кажется.
В общем, вот решение без доп. столбца, формула протестирована и полностью работоспособна, но нужен офис начиная с 2019, где есть функция
Код
TEXTJOIN()

Код
=HYPERLINK("#"&TEXTJOIN(";";1;IFERROR(ADDRESS(ROW($A$3:$A$60)*($F$3:$F$60<>"");2;4;1)&":"&ADDRESS(ROW($A$3:$A$60)*($F$3:$F$60<>"");6;4;1);""));"Select Rows")

Массивная, вводится тремя клавишами CTRL+SHIFT+ENTER.
[p.s.]В приложенном файле, за неимением оной, используется код-заменитель функции TEXTJOIN(). Также, поправил вариант с условным форматированием. Пользуйтесь.
К сообщению приложен файл: 9888888.xlsb (18.0 Kb)


Сообщение отредактировал Egyptian - Вторник, 09.08.2022, 00:13
 
Ответить
СообщениеDogestweek, Поначалу, я ошибочно решил, что вам нужно выделить каждую вторую строку, но дело оказалось проще, чем кажется.
В общем, вот решение без доп. столбца, формула протестирована и полностью работоспособна, но нужен офис начиная с 2019, где есть функция
Код
TEXTJOIN()

Код
=HYPERLINK("#"&TEXTJOIN(";";1;IFERROR(ADDRESS(ROW($A$3:$A$60)*($F$3:$F$60<>"");2;4;1)&":"&ADDRESS(ROW($A$3:$A$60)*($F$3:$F$60<>"");6;4;1);""));"Select Rows")

Массивная, вводится тремя клавишами CTRL+SHIFT+ENTER.
[p.s.]В приложенном файле, за неимением оной, используется код-заменитель функции TEXTJOIN(). Также, поправил вариант с условным форматированием. Пользуйтесь.

Автор - Egyptian
Дата добавления - 08.08.2022 в 20:44
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!