Условное форматирование столбца на основе текста в первом столбце той же строки - PullRequest
0 голосов
/ 22 сентября 2011

Я не уверен, возможно ли это даже без перехода на VB, но я пытался сделать это с помощью условного форматирования.По сути, у меня есть столбец (столбец K), который всегда будет иметь одинаковое значение (345), если в эту строку введена запись.В основном, когда я заполняю свои отчеты, я просто хочу, чтобы значение (345) было введено в столбец K, если в этой строке есть какие-либо данные.Я пытался просто использовать столбец A в качестве ссылки.Я возился с =IF(ISTEXT(Col.A location),"345",""), но это ни к чему не привело.Итак, я ищу идеи вне vba, но если нет возможности, то, я полагаю, vba - это путь.:)

Ответы [ 3 ]

1 голос
/ 22 сентября 2011

Предполагая, что ваши данные находятся в столбцах от A до J, и что они начинаются со строки 2, введите их в K2 и, при необходимости, скопируйте:

=IF(COUNTA(A2:J2),345,"")

Редактировать: Для формулы условного форматирования вам не нужна часть "Если", потому что форматирование уже ... условное:

= COUNTA (A2: J2)

0 голосов
/ 23 сентября 2011

Этот код работает, чтобы определить, есть ли в столбце A что-то или нет COUNTA (INDIRECT ("$ A $" & ROW ()))> 0, но я не думаю, что вы можете установить значение ячейки, используя условныеформатирование.Но с условным форматированием вы должны заранее знать, как далеко зайдут ваши данные, если вы просто не поместите их во все строки.

Почему бы вам просто не вставить их в код VBA, когда выпри копировании вы можете узнать, что является последней строкой, а затем вставить формулу IF (). Вы можете использовать этот код:

Dim r1 As Range
Set r1 = Range("K1")
r1.NumberFormat = "General"
r1 = "=IF(COUNTA(INDIRECT(""$A$""&ROW())>0,""345"","""")"
r1.AutoFill Destination:=Range(r1, r1.Offset(200))
0 голосов
/ 22 сентября 2011

Будет ли это работать?

=IF(ISBLANK(A1),"","345")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...