Microsoft Excel에서는 셀에 조건부 서식을 적용하여 데이터를 시각적으로 강조할 수 있습니다. 조건부 서식 기능은 사용자가 설정한 특정 규칙에 따라 셀 값의 충족 여부를 판단하고, 셀의 텍스트 색상, 채우기 색상 또는 둘 다를 변경합니다. 이러한 기본 기능 외에도, VBA 스크립트를 활용하면 특정 색상을 가진 셀을 잠그는 고급 기능을 구현할 수 있습니다.
조건부 서식을 통해 셀 색상을 동적으로 변경하거나, 사용자가 직접 원하는 색상을 지정할 수 있습니다. VBA 스크립트는 조건부 서식에 의존하지 않고, 특정 색으로 칠해진 셀을 식별하여 잠금 설정을 적용합니다.
색상 기반 셀 잠금 설정
VBA 스크립트를 작성하기 전에, 잠그려는 셀에 사용된 색상의 코드를 정확히 파악해야 합니다. VBA는 시각적인 색상 자체가 아닌 고유한 색상 코드를 사용하여 색상을 인식합니다.
가장 먼저, 잠그고자 하는 셀에 특정 색상을 적용해야 합니다. 본 예시에서는 식별하기 쉬운 기본 노란색을 사용합니다. 만약 다른 색상을 사용하고 싶다면, 해당 웹사이트에서 원하는 색상의 코드를 확인할 수 있습니다. 노란색의 색상 코드는 #FFFF00입니다.
Excel에서 “개발 도구” 탭을 활성화한 후, Visual Basic 버튼을 클릭하여 VBA 편집기를 실행합니다. ‘이 워크시트’에 다음 스크립트를 복사하여 붙여넣습니다. 이 스크립트는 Dave라는 사용자가 개발한 것입니다.
Sub WalkThePlank() Dim colorIndex As Integer colorIndex = FFFF00 Dim rng As Range For Each rng In ActiveSheet.UsedRange.Cells Dim color As Long color = rng.Interior.ColorIndex If (color = colorIndex) Then rng.Locked = True Else rng.Locked = False End If Next rng End Sub
스크립트를 실행하면, 지정된 색상을 가진 모든 셀이 잠깁니다. 스크립트 내에서 색상 코드를 설정하는 부분은 다음과 같습니다.
colorIndex = FFFF00
이 부분에서 FFFF00은 노란색을 나타내며, 원하는 색상에 해당하는 코드로 변경해야 합니다. 기본 색상을 사용하는 것이 가장 간단합니다. 이 스크립트를 사용하려면 Excel 파일을 매크로 사용 파일 형식으로 저장해야 합니다. 그렇지 않으면 VBA 스크립트가 저장되지 않습니다.
잠긴 셀은 쉽게 잠금 해제할 수 있습니다. 이 잠금 기능은 비밀번호로 보호되는 강력한 잠금이 아니라, 다른 사용자가 셀 값을 실수로 변경하는 것을 방지하는 용도입니다. 즉, 파일 변경에 대한 기본적인 보호 기능을 제공합니다.