엑셀 98-2003 버전 VBA코드나 등등 하는 방법 자세히 부탁드릴게요

엑셀 98-2003 버전 VBA코드나 등등 하는 방법 자세히 부탁드릴게요


엑셀 98-2003 버전 VBA코드나 등등 하는 방법 자세히 부탁드릴게요 관련 질문 해주셨네요.

엑셀 97-2003 버전에서 VBA를 활용하여 사람(행 항목)이 지속적으로 추가·변경되어도 피벗 테이블을 새로 고침할 때 조건부 서식을 유지하는 방법에 대해 단계별로 안내하겠습니다.

1. 피벗 테이블 생성하기

• 데이터 범위 선택 후 피벗 테이블을 만듭니다.

• 피벗 필드에 '사람' 항목을 넣습니다.

2. 조건부 서식 적용하기

• 원본 데이터 또는 피벗 테이블의 특정 조건에 따라 조건부 서식을 적용합니다.

• 피벗 테이블 내부에서 조건부 서식을 직접 적용하는 경우, 피벗 테이블 구조가 변경될 수 있어 유지가 어려우니,

• 대신 원본 데이터에 조건부 서식을 적용하는 편이 더 안정적입니다.

3. VBA를 이용하여 조건부 서식을 피벗 테이블 범위에 복구하는 방법

• 피벗 새로 고침 후 조건부 서식을 재적용하는 매크로를 작성합니다.

아래는 기본적인 VBA 예제입니다:

`vba

Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)

' 피벗 테이블이 새로 고침될 때마다 조건부 서식을 다시 적용하는 코드

Dim pt As PivotTable

Set pt = Target

' 피벗 테이블의 데이터 범위 지정

Dim rng As Range

Set rng = pt.TableRange1

' 조건부 서식 제거 (기존 서식 삭제)

rng.FormatConditions.Delete

' 원하는 조건부 서식을 다시 적용 (예: 값이 100 이상일 때 빨간색 배경)

Dim cond As FormatCondition

Set cond = rng.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterOrEqual, Formula1:="100")

cond.Interior.Color = vbRed

End Sub

`

이 코드는 워크북 또는 시트의 코드 영역에 넣어야 하며, 피벗 테이블이 업데이트될 때마다 조건부 서식을 재적용합니다.

4. 중요한 팁

• 피벗 테이블 항목이 추가·변경될 때마다 VBA 매크로를 실행하도록 설정하면, 조건부 서식이 유지됩니다.

• 'Workbook_Open' 또는 'Worksheet_PivotTableUpdate' 이벤트에 코드를 넣어 자동 실행되게 할 수 있습니다.

• 피벗 테이블 범위가 동적으로 변하는 경우 VBA에서 범위를 자동으로 재설정하는 로직을 넣는 것도 고려하세요.

이 방법을 이용하면 피벗 새로 고침 시 조건부 서식이 사라지는 문제를 해결할 수 있습니다. 필요하시면 구체적인 상황에 맞는 코드 예제도 더 제공해드릴 수 있습니다.

답변 도움 되셨길 바랍니다~ 채택 부탁드리며 추가 문의는 채택 후 답변드리겠습니다.

광고 [X]를 누르면 내용과 AI가 해제됩니다

AI 분석 및 채팅

3/3
시스템 리소스 로딩 중... 0%

여기를 클릭하면 빠른 로딩(가속)이 가능합니다.