2012-04-24 2 views
2

하나의 셀에 대해 값 비교를 기반으로 색상을 변경하는 조건부 서식을 만들었지 만이 서식을 전체 열에 적용하는 방법과 다른 방법으로 적용하는 방법을 모르겠습니다 열? (나는 모든 셀에 대한 서식을 설정하는 for 루프를 사용해야합니까?) 미리Excel 매크로를 사용하여 여러 열에 조건부 서식을 적용하는 방법

'add conditionalFormating for one cell. 
Set rngCell = Cells(6, 7) 
Set objCF = rngCell.FormatConditions.Add _ 
      (Type:=xlExpression, _ 
      Formula1:="=" & rngCell.Address & " > " & rngCell.offset(, -3).Address) 
'set formats for new CF 

With objCF 
    .Font.ColorIndex = 26 
    .Interior.ColorIndex = 19 
End With 

감사

+0

매크로 기록 시도;) –

+0

시도했지만 작동하지 않습니다. . 그것은 단지 다음 스크립트 기록 :
하위 Macro2() ' 'Macro2 ' ' 범위 매크로 ("B1")를 –

+0

그냥 호기심 하위 종료를 선택합니다. 어떤 Excel 버전을 사용하고 있습니까? –

답변

1

불행하게도, 엑셀 2007/2010 이전만큼 다양한 매크로 기록 기능이없는 버전

조건부 서식을 적용 할 때 다른 셀을 참조하는 경우 좋은 방법은 하나의 셀 (수행 방법을 알고있는)에 적용한 다음 서식을 나머지 열에 복사하는 것입니다. 당신이 열을 작성하는 경우, 이것은 당신이 그래서

rngCell.FormatConditions.Delete 

형식이 추가되면 그런 다음, 당신이 할 수있는 당신의 코드를 시작할 것

을 유지하기 위해 할 수있는 다른 셀 서식을 잃게해서는 안 단순히 사용

rngOut이 rngCell 시작하여

다른 컬럼에 적용하려면 테이블의 마지막 행까지 작성으로 정의된다

rngCell.Copy 
rngOut.PasteSpecial xlPasteFormats 

, 당신 하시다 uld는 다른 옵셋이있을 때 다른 수식을 필요로합니다. 필요한 코드를 최소화하려면 테이블의 헤더 바로 위의 숨겨진 행에 원하는 모든 형식/조건부 서식을 수동으로 추가 할 수 있습니다. 그럼 당신은 우리가 가정하면 헤더는 행의 형식의 행을 추가 할 때 2 행 아래로 밀리 ...

Range("A1:J1").Copy 
Range("A3:J100").PasteSpecial xlPasteFormats 

을 형태의 코드를 사용하여 테이블에이 모든 것을 복사 할 수 있습니다 1

위의 예에서 셀 주소를 참조했지만 범위 이름을 참조하고 셀 표기법을 사용하는 것이 좋습니다. 범위 ("A1")는 셀 (1, 1)입니다. 테이블의 열을 정의하기 위해 범위 이름을 사용하는 방법은이 expert Excel video에 자세히 설명되어 있습니다. 이점은 엄청납니다 ... 헤더 행이 범위 이름으로 정의 된 경우 코드를 다시 쓰지 않고도 테이블 위에 새 행을 삽입 할 수 있습니다

+0

우수하고 전문적인 답변! 이제이 조건부 서식을 전체 열에 적용 할 수 있습니다. –

+0

다른 질문이 있습니다. formatConditions를 구현하여 다른 셀의 셀 값에 따라 셀 색상을 변경하는 방법을 알고 계십니까? 내 이전 formatCondtions은 정확하지 않으며 xsCellValue 유형을 사용해야한다는 것을 알고 있지만 규칙을 구현하는 방법을 모른다 : Cell value> $ D5 –

관련 문제