본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 엑셀

VBA 스크립트를 활용한 엑셀 셀 서식 지정 방법

by 포탈메이커 2023. 6. 23.

VBA 스크립트를 활용한 엑셀 셀 서식 지정 방법

VBA(Visual Basic for Applications)는 MS Office 프로그램에서 사용되는 프로그래밍 언어로, 엑셀에서는 VBA를 사용하여 셀을 자동으로 지정하고 서식을 지정하는 등 다양한 기능을 수행할 수 있습니다.

이번 글에서는 VBA 스크립트를 활용하여 엑셀 셀 서식을 지정하는 방법에 대해 알아보겠습니다.

1. 셀 서식 지정하기

1.1. 셀의 색상 변경하기

셀의 색상을 변경하려면 VBA 스크립트에서 Interior.ColorIndex를 사용합니다. 아래 예시에서는 A1 셀의 배경색을 노란색으로 변경하는 코드를 작성해보겠습니다. 

Sub ChangeColor()

 
    Range("A1").Interior.ColorIndex = 6

 
End Sub

 

위 코드에서 ColorIndex 값은 다음과 같이 정의되어 있습니다. 

값 색상
0 검정색
1 하얀색
2 빨간색
3 녹색
4 파란색
5 노란색
6 자주색

1.2. 폰트 색상 변경하기

셀 내의 텍스트 색상을 변경하려면 VBA 스크립트에서 Font.ColorIndex를 사용합니다. 아래 예시에서는 A1 셀 내의 텍스트 색상을 빨간색으로 변경하는 코드를 작성해보겠습니다.

Sub ChangeFontColor()

 
    Range("A1").Font.ColorIndex = 3

 
End Sub

 

위 코드에서 ColorIndex 값은 다음과 같이 정의되어 있습니다. 

값 색상
1 하얀색
2 검정색
3 빨간색
4 녹색
5 파란색
6 노란색
7 자주색

1.3. 셀 내의 폰트 스타일 변경하기

셀 내의 텍스트 폰트 스타일(굵게, 이탤릭체 등)을 변경하려면 VBA 스크립트에서 Font.Bold, Font.Italic 등의 속성을 사용합니다. 아래 예시에서는 A1 셀 내의 텍스트를 굵게(Bold) 만드는 코드를 작성해보겠습니다.

Sub ChangeFontStyle()

 
    Range("A1").Font.Bold = True

 
End Sub

1.4. 셀 내의 수치 서식 변경하기

셀 내의 수치 서식(소수점 자리수, 퍼센트 표시 등)을 변경하려면 VBA 스크립트에서 NumberFormat 속성을 사용합니다. 아래 예시에서는 A1 셀 내의 수치를 천 단위 구분 기호와 함께 소수점 둘째자리까지 표시하는 서식으로 변경하는 코드를 작성해보겠습니다.


2. 조건부 서식 지정하기

조건부 서식은 특정 조건에 따라 셀의 서식을 변경해주는 기능입니다.

2.1. 값에 따라 서식 지정하기

값에 따라 서식을 지정하기 위해서는 VBA 스크립트에서 FormatConditions 속성을 사용합니다. 아래 예시에서는 A1 셀의 값이 70 이상일 경우 배경색을 노란색으로 변경하는 조건부 서식을 지정하는 코드를 작성해보겠습니다.

Sub ChangeFormatByValue()

 
    With Range("A1").FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:="70")

 
        .Interior.ColorIndex = 6

 
    End With

 
End Sub

2.2. 데이터 바에 따라 서식 지정하기

데이터 바(Data Bar)는 데이터의 범위를 그래프 형태로 나타내는 기능입니다. 데이터 바를 활용하여 조건부 서식을 지정하려면 VBA 스크립트에서 DataBar 속성을 사용합니다. 아래 예시에서는 A1 셀 내의 값이 B1 셀 내의 값보다 크거나 같을 경우 데이터 바 조건부 서식을 지정하는 코드를 작성해보겠습니다.

Sub ChangeFormatByDataBar()

    Dim rng As Range
 
    Set rng = Range("A1")

  
    With rng.FormatConditions.AddDatabar
 
        .BarColor.ColorIndex = 6
 
        .BarFillType = xlDataBarFillSolid

        .Direction = xlContext

        .MaxPoint.Type = xlPercent
 
        .MaxPoint.Value = 0.9

        .MinPoint.Type = xlPercent
 
        .MinPoint.Value = 0
 
        .Range = rng.Offset(0, 1)
 
    End With
 
End Sub

3. VBA 스크립트의 실행

우선적으로 VBA 스크립트를 실행할 때는 개발자 도구를 먼저 활성화해야 합니다. 개발자 도구를 활성화하는 방법은 다음과 같습니다.

 엑셀 메뉴에서 파일 > 옵션을 선택합니다.

  • 메뉴 탭 추가에서 개발자 탭을 선택합니다.
  • 개발자 도구를 사용할 수 있게 됩니다.

VBA 스크립트를 실행하는 방법은 다음과 같습니다.

  • 개발자 도구에서 Visual Basic을 선택합니다.
  • 왼쪽 탐색 창에서 VBA 스크립트를 정의한 엑셀 파일을 선택합니다.
  • 실행하고자 하는 VBA 스크립트를 선택합니다.
  • F5 키를 누르거나 실행 버튼을 누르면 VBA 스크립트가 실행됩니다.

4. 마치며

VBA 스크립트를 활용하면 엑셀에서 셀을 자동으로 지정하고 서식을 지정하는 등의 기능을 수행할 수 있습니다. 위에서 소개한 내용을 응용하여 더 다양한 기능을 구현해 보시기 바랍니다.



포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!