Здравствуйте! Не знаю, правильно ли я назвал тему, но точно знаю, что из названия темы ничего непонятно.
Я работаю с xlsx таблицами и обрабатываю их своим парсером на Java. Так вот. Когда моя программа "пробегается" по ячейкам она не обнаруживает там искомых значений, т.к. они сокращены. Искомое значение должно совпадать с отображаемым, там каждое значение ячейки имеет префикс ЗИП и далее уникальные цифры. В xlsx таблице ячейка хранит только сокращенное значение без префикса.
Вопрос в следующем. Я могу каким-либо образом получить из ячейки то значение, которое отображается? (выделил на скриншоте в кружок).
_Igor_61, окрашивает таблицу 1С по логике: красное - дефицит, желтое - в пути, зеленое - обеспечено. Т.е. я уже изначально получаю крашенную таблицу и сам ничего не раскрашиваю)) ____ upd: Inexsu, класс! Все работает замечательно!)
Короче, пока ничего не получается без пометки нужных ячеек (заголовков) символом, по которому и ищутся ячейки для цикла. Для корректной работы помечать нужно вручную, т.к. случается так, что ячейки с заголовками находятся в разных документах, в разных местах. Это уже портит весь процесс автоматизации. Искать объединенные, как я понял, тоже не вариант, т.к. там объединены не только заголовки.
Буду признателен, если кто-то подкинет еще идейку))
В общем получилось заставить работать в любой таблице код от Kuzmich. От себя добавил другим макросом добавление символа '_' в конце каждого заголовка, а в коде уже поиск этого символа. Все работает исправно!))
Kuzmich, разобрался как работает Ваш код. Благодарю за идею! А возможна реализация поиска заголовка путем перебора известных заголовков? В реальной таблице у меня 14 заголовков всегда с одинаковым названием.
JayBhagavan, я предварительно скопировал модуль) Завтра попробую разобраться, спасибо.
_Igor_61, вручную я конечно ничего не расскрашиваю. Я думал, имеется в виду умеет ли она раскрашивать в другие цвета. По логике - да, но это настраивается непосредственно на сервере. У меня есть права только получать уже готовый документ на выходе. Доступа к настройке вида таблицы у меня нет. Имена заголовков в каждом выгруженном файле одинаковы. Может тогда опираться на это? Заголовки, это грубо говоря наименования подразделений, а ниже уже строки с дефицитом. Только вот количество дефицитных позиций разное. Есть, кстати, вариант отображения всех строк, не только дефицитных. Т.е. под каждым подразделением будет всегда фиксированное количество строк, но окрашены в зеленый, желтый или красный.
Kuzmich, логику понимаю. Не хватает навыка в написании таких макросов. Из программирования знаю только Java, но хотелось бы все сделать средствами Excel, без костылей.
Сергей, данные таблицы импортируются из 1С. В 1С данные берутся из базы, доступа к которой у меня нет. Окрашиваются они по определенной логике. Допустим, красная строка, это та позиция которой нет на складе, а желтая - та которая в пути на склад.
Приветствую всех! Обращаюсь к вам за помощью в написании макроса или формулы для подсчета строк определенной заливки и содержания в книге excel. Есть таблица, которая содержит заголовки и наименования. Более подробно и наглядно можно посмотреть в прикрепленном примере. Количество заголовков всегда одинаково, но количество наименований под ними в каждом файле разное. Справа от таблицы, в ячейках, я поместил примерный вид содержимого после работы макроса. Необходимо, чтобы считались только те строки: 1. Которые не содержат ячеек с заголовком. 2. Которые окрашены в красный цвет (тот красный, который в примере).
Выражаясь проще, необходимо чтобы для каждого заголовка (ключ), мы получали количество красных строк (значение). Как написать такой "проход", который начинает считать первую же строку под заголовком и останавливается, когда достигает следующего заголовка - ума не приложу.