VBA 셀 서식 지정하기
In this Article
이 튜토리얼에서는 VBA를 사용하여 셀 서식을 지정하는 방법을 보여드립니다.
셀 서식 지정하기
다음과 같이 (범위의) 셀에 대해 설정할 수 있는 다양한 서식 속성이 있습니다:
Sub SetCellFormat()
With Worksheets("Sheet1").Range("B5:C7")
.HorizontalAlignment = xlHAlignDistributed
.AddIndent = True
.Font.FontStyle = "Italic"
.NumberFormat = "General"
.Interior.Color = RGB(128, 100, 250)
End With
End Sub
알파벳 순서대로 살펴보겠습니다:
AddIndent
이 속성의 값을 True로 설정하면 셀의 텍스트 정렬이 가로 또는 세로로 동일한 분포로 설정될 때 텍스트가 자동으로 들여쓰기됩니다(HorizontalAlignment 및 VerticalAlignment 참조).
With Worksheets("Sheet1").Range("A1")
.Orientation = xlVertical
.VerticalAlignment = xlVAlignDistributed
.AddIndent = True
End With
Borders
셀의 테두리 형식을 설정할 수 있습니다. 테두리에 대한 자세한 내용은 여기를 참조하세요.
예를 들어 시트 1의 B2셀의 테두리를 빨간색 점선으로 설정할 수 있습니다:
As an example you can set a red dashed line around cell B2 on Sheet 1 like this:
Worksheets("Sheet1").Range("B2").BorderAround LineStyle:=xlDash, ColorIndex:=3
Font
글꼴 이름, 스타일, 크기, 색상을 설정하고 밑줄 또는 효과(취소선, 아래첨자 또는 위첨자)를 추가하여 셀의 글꼴 형식을 조정할 수 있습니다. 셀 글꼴에 대한 자세한 내용은 여기를 참조하세요.
다음 예제를 참고해 주세요:
With Range("A1:C5").Font
.Name = "Century"
.FontStyle = "Bold"
.Strikethrough = True
End With
이 속성은 워크시트를 보호할 때 수식을 숨길지 여부를 불리언 값으로 반환하거나 설정합니다. 다음 코드를 참고해 주세요:
Worksheets("Sheet1").Range("A1:B1").FormulaHidden = True
HorizontalAlignment
이 셀 서식 속성은 지정된 개체의 가로 맞춤을 나타내는 변수 값을 반환하거나 설정합니다. 반환되거나 설정되는 상수는 xlGeneral, xlCenter, xlDistributed, xlJustify, xlLeft, xlRight, xlFill, xlCenterAcrossSelection중에 하나 입니다. 예제 코드는 다음과 같습니다:
Worksheets("Sheet1").Range("D3").HorizontalAlignment = xlRight
IndentLevel
셀 또는 범위의 들여쓰기 수준을 나타내며 0에서 15 사이의 정수 값을 반환하거나 설정합니다.
Worksheets("Sheet1").Range("A1").IndentLevel = 7
Interior
다음과 같이 셀의 내부에 대한 정보(색상, 색상 인덱스, 패턴, 패턴 색상, 패턴 색상 인덱스, 패턴 테마 색상, 패턴 틴트 및 음영, 테마 색상, 틴트 및 음영)를 설정하거나 반환할 수 있습니다(Interior의 속성은 Color, ColorIndex, Pattern, PatternColor, PatternColorIndex, PatternThemeColor, PatternTintAndShade, ThemeColor, TintAndShade가 있습니다):
If Not Range("A1").Interior.ThemeColor = ThemeColorLight2 Then
Range("A1").Interior.Pattern = xlPatternUp
End If
Locked
이 속성은 셀 또는 범위가 잠겨 있으면 True를 반환하고, 시트가 보호되어 있을 때 개체를 수정할 수 있으면 False를 반환하며, 지정된 범위에 잠긴 셀과 잠금이 해제된 셀이 모두 포함되어 있으면 Null을 반환합니다. 이 함수는 셀을 잠그거나 잠금 해제하는 데에도 사용할 수 있습니다.
이 예에서는 시트가 보호되어 있을 때 수정할 수 있도록 시트1의 A1:B2 셀의 잠금을 해제합니다.
Worksheets("Sheet1").Range("A1:B2").Locked = False
Worksheets("Sheet1").Protect
MergeCells
범위를 병합해야 하는 경우 이 속성을 True로 설정합니다. 지정된 범위에 병합된 셀이 포함된 경우 이 값은 True가 됩니다. 다음 예제코드에서는 C5:D7 범위를 병합합니다:
Worksheets("Sheet1").Range("C5:D7").MergeCells = True
NumberFormat
셀 내의 숫자 서식을 일반, 숫자, 통화, 회계, 날짜, 시간, 백분율, 분수, 지수, 텍스트, 기타 및 사용자 지정으로 설정할 수 있습니다.
다음은 지수와 백분율 숫자 형식에 대한 예시입니다:
Range("A1").NumberFormat = "0.00E+00"
Range("B1").NumberFormat = "0.00%"
NumberFormatLocal
이 속성은 사용자 지정 표시 형식을 사용하여 변수 값을 반환하거나 설정합니다.
Orientation
이 속성을 사용하여 셀 내의 텍스트 방향을 설정하거나 설정된 값을 반환할 수 있습니다. 상수 값은 xlDownward, xlHorizontal, xlUpward, xlVertical 또는 -90~90도 사이의 정수 값 중 하나 일 수 있습니다.
Worksheets("Sheet1").Range("A1").Orientation = -60
Parent
지정된 개체의 부모 개체를 반환하는 읽기 전용 속성입니다.
ShrinkToFit
이 속성은 텍스트가 사용 가능한 열 너비에 맞게 자동으로 축소되는지 여부를 나타내는 변수 값을 반환하거나 설정합니다.
Worksheets("Sheet1").Range("A1").ShrinkToFit = True
VerticalAlignment
이 속성은 지정된 개체의 세로 맞춤을 나타내는 변수 값을 반환하거나 설정합니다. 반환되거나 설정되는 상수는 xlCenter, xlDistributed, xlJustify, xlBottom, xlTop입니다. 예제 코드는 다음과 같습니다:
Worksheets("Sheet1").Range("A1").VerticalAlignment = xlTop
WrapText
이 속성은 지정된 범위 내의 모든 셀에서 텍스트가 줄 바꿈되면 True를, 지정된 범위 내의 모든 셀에서 텍스트가 줄 바꿈되지 않으면 False를, 지정된 범위에 텍스트를 줄 바꿈하는 일부 셀과 그렇지 않은 다른 셀이 포함된 경우 Null을 반환합니다.
예를들어, 다음과 같은 범위에 텍스트가 있다고 가정하곘습니다:
아래 코드를 실행하면 직접실행 창에 Null 을 표시합니다:
Debug.Print Worksheets("Sheet1").Range("A1:B1").WrapText