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

Вход

Регистрация

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

 

= Мир MS Excel/Отметить ячейки, имеющие черную верхнюю границу. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отметить ячейки, имеющие черную верхнюю границу. (Макросы/Sub)
Отметить ячейки, имеющие черную верхнюю границу.
Iuliiap Дата: Четверг, 13.06.2019, 18:00 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте!
Есть табличка на 80тыс.+ строк с объединением ячеек по вертикали. Для ее последующей обработки мне нужно как-нибудь отметить строки, в которых ячейки имеют черную верхнюю границу: можно такие ячейки выделить цветом, или записать слева от такой ячейки букву или цифру. Пример во вложении.
Можно попросить помощь в составлении такого макроса?

Структура файла такая, что другого надежного критерия (кроме наличия верхней границы) для того, чтобы обозначить разные группы объединенных ячеек, нет.
 
Ответить
СообщениеЗдравствуйте!
Есть табличка на 80тыс.+ строк с объединением ячеек по вертикали. Для ее последующей обработки мне нужно как-нибудь отметить строки, в которых ячейки имеют черную верхнюю границу: можно такие ячейки выделить цветом, или записать слева от такой ячейки букву или цифру. Пример во вложении.
Можно попросить помощь в составлении такого макроса?

Структура файла такая, что другого надежного критерия (кроме наличия верхней границы) для того, чтобы обозначить разные группы объединенных ячеек, нет.

Автор - Iuliiap
Дата добавления - 13.06.2019 в 18:00
Pelena Дата: Четверг, 13.06.2019, 20:19 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19167
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Файл с небольшим примером помог бы в понимании проблемы


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеФайл с небольшим примером помог бы в понимании проблемы

Автор - Pelena
Дата добавления - 13.06.2019 в 20:19
bmv98rus Дата: Четверг, 13.06.2019, 20:34 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
Файл с небольшим примером
лучше с макисмально большим, который уложится в 100, ибо в это
что другого надежного критерия (кроме наличия верхней границы) для того, чтобы обозначить разные группы объединенных ячеек, нет.
не совсем верится.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Файл с небольшим примером
лучше с макисмально большим, который уложится в 100, ибо в это
что другого надежного критерия (кроме наличия верхней границы) для того, чтобы обозначить разные группы объединенных ячеек, нет.
не совсем верится.

Автор - bmv98rus
Дата добавления - 13.06.2019 в 20:34
Iuliiap Дата: Четверг, 13.06.2019, 22:44 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Сорри, мой косяк за отсутствие примера! Исправляю. Когда создавала тему, прикладывала файл, почему-то не вставился.
К сообщению приложен файл: _-.xlsx (10.7 Kb)
 
Ответить
СообщениеСорри, мой косяк за отсутствие примера! Исправляю. Когда создавала тему, прикладывала файл, почему-то не вставился.

Автор - Iuliiap
Дата добавления - 13.06.2019 в 22:44
Iuliiap Дата: Четверг, 13.06.2019, 22:51 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Я тоже считаю странным то, что нельзя разбить на основе данных, не опираясь на формат границ. Но в примере можно увидеть, что для одного и того же id (a01, например) - несколько разных групп. Можно было бы разделить на основе дат и id - но тут опять, для того же a01 в одной выделенной границами группе есть разные даты.
 
Ответить
СообщениеЯ тоже считаю странным то, что нельзя разбить на основе данных, не опираясь на формат границ. Но в примере можно увидеть, что для одного и того же id (a01, например) - несколько разных групп. Можно было бы разделить на основе дат и id - но тут опять, для того же a01 в одной выделенной границами группе есть разные даты.

Автор - Iuliiap
Дата добавления - 13.06.2019 в 22:51
krosav4ig Дата: Четверг, 13.06.2019, 23:41 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
в D4 формула и тянем вниз
Код
=ЕСЛИ(ЕПУСТО(B4);D3;B4&" "&СЧЁТЕСЛИ($B4:B$4;B4))

в диспетчере имен создаем именованную формулу x
Код
=ПОЛУЧИТЬ.ЯЧЕЙКУ(11;Лист1!F4)
, где F4 - адрес активной ячейки
создаем УФ по формуле [code]=x[/code]
К сообщению приложен файл: 9269859.xlsm (13.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениев D4 формула и тянем вниз
Код
=ЕСЛИ(ЕПУСТО(B4);D3;B4&" "&СЧЁТЕСЛИ($B4:B$4;B4))

в диспетчере имен создаем именованную формулу x
Код
=ПОЛУЧИТЬ.ЯЧЕЙКУ(11;Лист1!F4)
, где F4 - адрес активной ячейки
создаем УФ по формуле [code]=x[/code]

Автор - krosav4ig
Дата добавления - 13.06.2019 в 23:41
Iuliiap Дата: Пятница, 14.06.2019, 00:26 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Благодарю за ответ, но эта формула не для всех строк будет работать корректно. Во вложении обновленный пример, там не получается использовать эту формулу.

Можно ли написать макрос, который работает по такому алгоритму ниже?
Для всех выделенных ячеек (или для ячеек из фиксированного диапазона - границы я поправлю в коде):
если у ячейки черная тонкая верхняя граница (как в примере):
отметить ячейку (например, залить ее желтым).
К сообщению приложен файл: 9269859_example.xlsm (13.6 Kb)
 
Ответить
СообщениеБлагодарю за ответ, но эта формула не для всех строк будет работать корректно. Во вложении обновленный пример, там не получается использовать эту формулу.

Можно ли написать макрос, который работает по такому алгоритму ниже?
Для всех выделенных ячеек (или для ячеек из фиксированного диапазона - границы я поправлю в коде):
если у ячейки черная тонкая верхняя граница (как в примере):
отметить ячейку (например, залить ее желтым).

Автор - Iuliiap
Дата добавления - 14.06.2019 в 00:26
Iuliiap Дата: Пятница, 14.06.2019, 01:02 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
krosav4ig, благодаря вам нашла такой вариант: https://www.planetaexcel.ru/forum....D=36404 (последние сообщения). После этого в объединенных ячейках сохранится только верхнее значение, и можно использовать и формулу, и вообще дальше обрабатывать файл.
Единственный недостаток макроса - 80 тыс строк за раз не тянет, зависает)
 
Ответить
Сообщениеkrosav4ig, благодаря вам нашла такой вариант: https://www.planetaexcel.ru/forum....D=36404 (последние сообщения). После этого в объединенных ячейках сохранится только верхнее значение, и можно использовать и формулу, и вообще дальше обрабатывать файл.
Единственный недостаток макроса - 80 тыс строк за раз не тянет, зависает)

Автор - Iuliiap
Дата добавления - 14.06.2019 в 01:02
RAN Дата: Пятница, 14.06.2019, 06:32 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
там не получается использовать эту формулу

Если под "эта" понимать формулу krosav4ig, то все работает, а если ту, которую вы поломали, то нет.
Загляните в диспетчер, и сравните ссылки.
Единственный недостаток макроса

при работе с границами только усугубится.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
там не получается использовать эту формулу

Если под "эта" понимать формулу krosav4ig, то все работает, а если ту, которую вы поломали, то нет.
Загляните в диспетчер, и сравните ссылки.
Единственный недостаток макроса

при работе с границами только усугубится.

Автор - RAN
Дата добавления - 14.06.2019 в 06:32
Iuliiap Дата: Пятница, 14.06.2019, 10:22 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Разобралась, вы правы,
Код
=ПОЛУЧИТЬ.ЯЧЕЙКУ(11;Лист1!F4)
работает намного удобнее макроса, даже не думала, что все оказывается так просто.


Сообщение отредактировал Iuliiap - Пятница, 14.06.2019, 12:43
 
Ответить
СообщениеРазобралась, вы правы,
Код
=ПОЛУЧИТЬ.ЯЧЕЙКУ(11;Лист1!F4)
работает намного удобнее макроса, даже не думала, что все оказывается так просто.

Автор - Iuliiap
Дата добавления - 14.06.2019 в 10:22
_Boroda_ Дата: Пятница, 14.06.2019, 10:23 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
- Прочитайте Правила форума
- Оформите формулу тегами (в режиме правки поста выделите формулу и нажмите кнопку fx, пояснялка здесь)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение- Прочитайте Правила форума
- Оформите формулу тегами (в режиме правки поста выделите формулу и нажмите кнопку fx, пояснялка здесь)

Автор - _Boroda_
Дата добавления - 14.06.2019 в 10:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отметить ячейки, имеющие черную верхнюю границу. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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