powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel.Форматирование ячеек в зависимости от показаний формул
5 сообщений из 5, страница 1 из 1
Excel.Форматирование ячеек в зависимости от показаний формул
    #34161767
Suleyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста написать макрос, который будет форматировать ячейки в
зависимости от показания формул в других ячейках. пример: в ячейках A1-J10 по
формулам могут находиться даты, и есть еще одна ячейка G3 где дата совпадает с
одной из дат в ряду A1-A10, соответственно строкой ниже ячейки A2-J2 должны
быть в следующем формате: если A1 не равно G3, то формат A2 "заливка
отсутствует", если A1=G3, то "заливка серенькая", и так до A10, и что бы все это
дело происходило автоматически по значениям ячеек A1-A10. короче говоря в
первой строке (А1-А10) может совпадать только одна дата с датой в ячейке G3,
соотв-но остальные не совпадают, ну и как результат, во второй строке все ячейки
от A2 до J2 кроме одной будут обычного цвета, а одна "серенькая".
...
Рейтинг: 0 / 0
Excel.Форматирование ячеек в зависимости от показаний формул
    #34161789
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такое вообще можно сделать при помощи условного форматирования.

аффтопитезь
...
Рейтинг: 0 / 0
Excel.Форматирование ячеек в зависимости от показаний формул
    #34162526
Egor Sokolov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы так объясняете, что ни черта не понятно :(. Вот образчик: «...короче говоря в первой строке (А1-А10) может совпадать...» — начнём хотя бы с того, что А1-А10 — это СТОЛБЕЦ, а не строка. Я сейчас открыл Excel и попытался домыслить, что вы хотели сказать и понял так:

Есть строка A1—J1, в которой находятся некие значения; у вас там стоят даты, но я для простоты буду считать, что это просто числа, например: a1 = 2, a2 = 56, a3 = 76, итп...

Есть ячейка G3 с неким значением (пусть = 56)

Вы хотите, чтобы ячейки строки A2—J2 (т.е. строка ПОД строкой A1—J1) принимали бы некое форматирование (в данном случае — заливку цветом) в зависимости от того, равно / НЕ равно значение вышестоящей ячейки (т.е. ячейки из строки A1—J1) значению ячейки G3?

Если это то, что вам нужно, то достигнуть это можно условным форматированием (с VBA щас мне думать туго, т.к. спать уже хочу, тем более, что может быть вы вообще что-то другое имели в виду). Так вот, если вам будет достаточно просто условного форматирования, то можно сделать так.

• в A2 вводите: =ЕСЛИ(A1=$G$3;"true";"false")
• ставите курсор на A2 и выбираете в меню: Формат > Условное форматирование...
• Откроется окно, где в группе "Условие 1" будут 3 поля: в первом поле (это — выпад. список) выбираете чтобы стояло "Значение", во втором поле (тоже выпад. список) выбираете чтобы стояло "равно", а в третье поле вводите ручками: true и жмете на кнопку "Формат" — там выбираете свою "Серенькую" заливку (т.е. когда A1 = G3)

Если вам нужна заливка и для случая, когда A1 не= G3, то в группе "Условие 2" делаете всё аналогично, только в третье поле вводите false (ну и цвет ставите другой, например красный)

Теперь "протягиваете" мышью ячейку A2 до J2, чтобы всё это хозяйство скопировалось в ячейки B2, C2 итд. Вот и всё...

P.S. названия функций и меню — по "Excel 2000 Rus", если у вас другая версия, то возможны отличия — смотрите там уже сами...
...
Рейтинг: 0 / 0
Excel.Форматирование ячеек в зависимости от показаний формул
    #34165502
Suleyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за такое тщательное объяснение, я извиняюсь, не правильно выразился.
есть строка с ячейками H3-V3, в этих ячейках даты, которые сами формируются по
формулам (=IF(COLUMN(A1)<=$Z$2,15-$Z$2+COLUMN(A1),COLUMN(A1)-$Z$2-1)*7+$G$3), и
вот если одна из этих дат в ячейках H3-V3 совпадает с датой в ячейке G3 которая
сама формируется по формуле (=H40+(7-WEEKDAY(H40,2))), то одна из этих ячеек
(H3-V3) должна форматироваться "серенькой".

Z2 =MOD(ROUNDDOWN(((H40-Z1)/7),0),16)
H40 = любая дата
Z1 =26-12-2005

еще раз извиняюсь и заранее благодарю.
...
Рейтинг: 0 / 0
Excel.Форматирование ячеек в зависимости от показаний формул
    #34165725
Egor Sokolov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, ну теперь понятно... Ну тут всё проще пареной репы, это все то же самое условное форматирование. Ваши хитроумные формулы я вводить не стал (просто разбираться лень: у вас, я так понимаю, англ. Excel, тут надо соображать, как его функции называются в русской версии), да к тому же это всё и не важно, тут главное — сама суть. Итак, сначала небольшая схемка:

Код: plaintext
G3  | H3  I3  J3  ...  V3
Код: plaintext
G4  | H4  I4  J4  ...  V4
Код: plaintext
..  | ..  ..  ..  ...  ..

В H3-V3 находятся некие значения (конкретно в вашем случае — даты), вычисляемые по некоей формуле.
В ячейке G3 — тоже находятся некие значения, вычисляемые по некоей (другой) формуле.
Требуется, чтобы: при совпадении значения из ряда ячеек H3-V3 со значением в ячейке G3 та ячейка, в которой произошло совпадение, выделялась бы цветовым фоном (пусть серым цветом)

Делаете так (я в принципе все это уже подробно расписывал выше, но ещё раз повторюсь): ставите курсор на H3, в меню: Формат > Условное форматирование... в группе "Условие 1" в первом выпад. списке ставите "значение", во 2-ром выпад. списке ставите "равно", в 3-ем поле для ввода вбиваете с клавы $G3, жмете кнопу "формат..." и выбираете там свой серый цвет. Если вам надо, чтобы НЕ совпадающие ячейки тоже как-то заливались, то в группе "Условие 2" делаете всё аналогично, только там во 2-ром выпад. списке ставите "не равно", ну и заливку, ясно, выбираете другую (я, впрочем, так понял, что вы хотите только одну заливку на совпадение, ну это дело вкуса...)

Так, едем дальше. Условное форматирование для ячейки H3 мы установили, теперь надо применить его ко всем остальным ячейкам в строке (т.е. к I3-V3), — для этого ставим курсор на H3, в меню: Правка > Копировать, далее выделяете сразу ряд ячеек I3-V3, потом выбираете в меню: Правка > Специальная вставка — откроется окно, где расставьте переключатели так: переключатель в группе "Вставить" ставите в "Форматы", а переключатель в группе "Операция" в "нет" (впрочем, он там и так стоит по умолчанию, но всё-таки проследите за этим), жмете "OK" — вот и всё!

P.S. я не совсем понял, надо ли вам проделать эту манипуляцию только со строкой G3; H3-V3 или же у вас и в строках G4; H4-V4, ..., итд (т.е. спускаясь всё ниже и ниже по строкам) находятся аналогичные формулы (т.е. формула в G4 подобна формуле в G3 и надо выделить совпадение из H4-V4 со значением в G4 итд...), поэтому на всякий случай я отобразил на своей схемке целый диапазон. Если так, то делаете всё аналогично, только копируете формат ячейки H3 не в строку I3-V3, а в целый диапазон (ну, например, копируете ячейку H3, потом выделяете H3:V6, Правка > Спец. вставка... ну и так далее, см. выше)

P.P.S. Как я предположил выше, у вас Excel английский, поэтому какие там менюшки надо нажимать и выставлять — соображайте сами, я, конечно, ангел, но не настолько, чтобы тут ещё и англо-русские соответствия выискивать ;). Успехов!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel.Форматирование ячеек в зависимости от показаний формул
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]