Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2012, 22:14   #1
AllenJ
Пользователь
 
Регистрация: 18.01.2011
Сообщений: 45
По умолчанию Замена данных формулы/условного форматирования

Здравствуйте, столкнулся с такой проблемой. Существует условное форматирование вида:
Код:
=СЧЁТЕСЛИ($B26:$F26;B29)
в следующей ячейке
Код:
=СЧЁТЕСЛИ($B26:$F26;B30)
и т.д.
Соответственное есть большое колличество ячеек, с прописанных данным кодом, но если нужно заменить $B26:$F26 на, скажем $B27:$F27, то нужно каждую ячейку открывать и править в ней код. Поэтому решил с помощью макроса это исправить, но вот что вышло
Код:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=СЧЕТЕСЛИ($B27:$F27;B29)"
То есть макрос меняет всю строку целеком, а нужно только чтобы менял $B17:$F17, при этом чтобы B29 (B30, B31 и т.д.) не учитывалось. Как это сделать?
Спасибо!
AllenJ вне форума Ответить с цитированием
Старый 30.01.2012, 22:36   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Формула, конечно, меняется целиком. Но относительная ссылка вставляется в том виде, в котором она указана в формуле, только для ActiveCell. Для остальных ячеек она соответственно смещается.
Например, если Вы выделите диапазон A1:A3, потом Ctrl-кликнете A2 (выделен диапазон А1:А3, но активная ячейка А2) и выполните эту команду, то формула УФ будет:

А1: =СЧЁТЕСЛИ($B26:$F26;B28)
А2: =СЧЁТЕСЛИ($B27:$F27;B29)
А3: =СЧЁТЕСЛИ($B28:$F28;B30)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 30.01.2012, 22:57   #3
AllenJ
Пользователь
 
Регистрация: 18.01.2011
Сообщений: 45
По умолчанию

Да, да в том-то и дело. Лучше чтобы она не смещалась.
т.е.

А1: =СЧЁТЕСЛИ($B27:$F27;B28)
А2: =СЧЁТЕСЛИ($B27:$F27;B29)
А3: =СЧЁТЕСЛИ($B27:$F27;B30)

В этом то и вся суть, если копировать ячейку то смещается и ячейка в формуле УФ. При этом так делать нельзя $B$27:$F$27 иначе другие условия рушатся.
AllenJ вне форума Ответить с цитированием
Старый 31.01.2012, 00:31   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

будкт файл - будет формула (скорее всего одна)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 31.01.2012, 20:05   #5
AllenJ
Пользователь
 
Регистрация: 18.01.2011
Сообщений: 45
По умолчанию

Вот файлик. При копировании строки B14:L14 и вставки ее в B15:L15 формула B11:L11 смещается на B12:L12
Про абсолютные ссылки я знаю, но здесь их трогать нельзя, иначе другие условия рушаться.
То есть нужен маленький макрос, который бы в выделенном фрагменте вставлял B11:L11 вместо смещенных B12:L12
Вложения
Тип файла: rar пример7.rar (2.1 Кб, 13 просмотров)
AllenJ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование условного форматирования в Excel 2010 olva Microsoft Office Excel 7 29.08.2016 07:40
Использование VBA вместо "Условного форматирования" RussiaMarshall Microsoft Office Excel 2 09.08.2011 16:27
Функция для условного форматирования kipish_lp Microsoft Office Access 1 22.06.2011 07:48
Нужен макрос для условного форматирования SergioSolo Microsoft Office Excel 2 09.02.2011 21:16
Зафиксировать результат условного форматирования KOHCEPBATOP Microsoft Office Excel 3 16.08.2010 09:27