
엑셀 프로그램으로 매크로 이용해서 셀 서식 설정할 때 먼저 이 글을 참고하자.
매크로로 셀 설정할 때 가장 많이 사용되는 Borders, Font, HorizontalAlignment, Interior, NumberFormat, VerticalAlignment 개체에 대해 알아보자.
엑셀 매크로 셀 서식 설정
매크로로 서식 지정할 때는 아래와 같은 형식으로 코드를 작성한다.
범위.개체.속성 = 상수
Borders
Borders는 범위 개체 또는 스타일 개체의 네 테두리를 나타내는 네 개의 테두리 개체의 모음이다.
.Borders(테두리 상수).속성 = 상수
테두리 상수 | 설명 |
---|---|
xlDiagonalDown | 범위 내 각 셀의 왼쪽 상단 모서리에서 오른쪽 하단까지 이어지는 테두리. |
xlDiagonalUp | 범위 내 각 셀의 왼쪽 아래 모서리에서 오른쪽 위까지 이어지는 테두리. |
xlEdgeLeft | 범위의 왼쪽 가장자리에 있는 테두리. |
xlEdgeTop | 범위의 위쪽 가장자리에 있는 테두리. |
xlEdgeBottom | 범위의 아래쪽 가장자리에 있는 테두리. |
xlEdgeRight | 범위의 오른쪽 가장자리에 있는 테두리. |
xlInsideVertical | 범위 내 모든 셀에 대해 수직 테두리. 범위의 외부 테두리는 제외됨. |
xlInsideHorizontal | 범위 내 모든 셀에 대해 수평 테두리. 범위의 외부 테두리는 제외됨. |
Color
.Borders(테두리 상수).Color 속성은 테두리 색상을 정의한다.
.Borders(테두리 상수).ColorIndex = 1
.Borders(테두리 상수).Color = vBRed
.Borders(테두리 상수).Color = RGB(255,255,0)
아래 Color를 참고하자.
LineStyle
.Borders(테두리 상수).LineStyle 속성은 테두리 선 스타일을 정의한다.
.Borders(테두리 상수).LineStyle = 상수
상수 | 설명 |
---|---|
xlContinuous | 일반 테두리. 실선 테두리. |
xlDash | 점선 테두리 (대시). |
xlDashDot | 대시-점선 테두리. |
xlDashDotDot | 대시-점-점선 테두리. |
xlDot | 점선 테두리. |
xlDouble | 이중 실선 테두리. |
xlSlantDashDot | 경사 대시-점선 테두리. |
xlLineStyleNone | 테두리가 없음. |
xlNone | 없음. |
Weight
Weight 속성은 테두리 선 두께를 정의한다.
.Borders(테두리 상수).Weight = 상수
상수 | 설명 |
---|---|
xlHairline | 헤어라인 (가장 얇은 테두리). |
xlThin | 얇음. |
xlMedium | 중간. |
xlThick | 두꺼움 (가장 넓은 테두리). |
Font
Font 개체는 셀의 글꼴 스타일을 정의하는 개체다.
.Font.속성 = 상수
Color
Font.Color 속성은 텍스트의 색상을 정의한다.
Font.ColorIndex = 1
Font.Color = vBRed
Font.Color = RGB(255,255,0)
아래 Color를 참고하자.
Background
Font.Background 속성은 텍스트 주위의 배경 색상을 정의한다.
.Font.Background = 상수
상수 | 설명 |
---|---|
xlBackgroundAutomatic | 텍스트 주위의 배경 색상을 자동으로 변경하여 텍스트가 잘 보이도록 설정한다. |
xlBackgroundOpaque | 텍스트 색상과 텍스트 아래의 채우기 색상이 매우 비슷하거나 같은 경우 글꼴 배경을 검은색으로 설정하여 텍스트를 표시한다. |
xlBackgroundTransparent | 투명으로 설정되어 텍스트 색상이 텍스트 아래의 색상에 가까운 경우 배경이 변경되지 않는다. |
Bold
Font.Bold 속성은 텍스트의 굵기를 정의한다.
.Font.Bold = 상수
상수 | 설명 |
---|---|
True | 글꼴을 굵게 설정. |
False | 글꼴을 일반 두께로 설정. |
Name
Font.Name 속성은 텍스트의 글꼴 이름을 정의한다.
.Font.Name = "글꼴 이름"
상수 | 설명 |
---|---|
예: “Arial” | 글꼴을 Arial로 설정. |
예: “Calibri” | 글꼴을 Calibri로 설정. |
예: “Times New Roman” | 글꼴을 Times New Roman으로 설정. |
예: “Verdana” | 글꼴을 Verdana로 설정. |
Italic
Italic 속성은 텍스트의 기울임꼴 여부를 정의한다.
.Font.Italic = True/False
상수 | 설명 |
---|---|
True | 글꼴을 기울임꼴로 설정. |
False | 글꼴을 일반 상태로 설정. |
Size
Size 속성은 텍스트의 크기를 정의한다.
.Font.Size = 크기
크기 | 설명 |
---|---|
예: 8 | 글꼴 크기를 8포인트로 설정. |
예: 10 | 글꼴 크기를 10포인트로 설정. |
예: 12 | 글꼴 크기를 12포인트로 설정. |
예: 14 | 글꼴 크기를 14포인트로 설정. |
예: 16 | 글꼴 크기를 16포인트로 설정. |
Underline
Underline 속성은 텍스트의 밑줄을 정의한다.
.Font.Underline = 상수
상수 | 설명 |
---|---|
xlUnderlineStyleNone | 밑줄 없음. |
xlUnderlineStyleSingle | 실선. |
xlUnderlineStyleDouble | 이중 실선. |
xlUnderlineStyleSingleAccounting | 실선 (회계용). |
xlUnderlineStyleDoubleAccounting | 이중 실선 (회계용). |
밑줄의 색상은 텍스트 색상과 동일하게 설정된다.
HorizontalAlignment
HorizontalAlignment 개체는 셀 내 텍스트의 수평 정렬 방식을 정의한다.
.HorizontalAlignment = 상수
상수 | 설명 |
---|---|
xlHAlignLeft | 텍스트를 셀의 왼쪽에 정렬. |
xlHAlignCenter | 텍스트를 셀의 중앙에 정렬. |
xlHAlignRight | 텍스트를 셀의 오른쪽에 정렬. |
xlHAlignJustify | 텍스트를 셀의 양쪽에 맞추어 정렬. |
xlHAlignDistributed | 텍스트를 셀의 양쪽에 분배하여 정렬. |
Interior
Interior 개체는 셀의 내부 스타일을 정의하는 개체다.
.Interior.속성 = 상수
Color
Color 속성은 셀의 배경 색상을 정의한다.
Interior.ColorIndex = 1
Interior.Color = vBRed
Interior.Color = RGB(255,255,0)
아래 Color를 참고하자.
Gradient
Gradient 속성은 셀의 그라데이션 배경을 정의한다.
GradientColor1 속성은 그라데이션의 첫 번째 색상을 정의한다.
GradientColor2 속성은 그라데이션의 두 번째 색상을 정의한다.
.Interior.Gradient = 상수
.Interior.GradientColor1 = 색상
.Interior.GradientColor2 = 색상
상수 | 설명 |
---|---|
xlGradientHorizontal | 수평 그라데이션을 설정. |
xlGradientVertical | 수직 그라데이션을 설정. |
xlGradientUp | 위로 향하는 그라데이션을 설정. |
xlGradientDown | 아래로 향하는 그라데이션을 설정. |
.Interior.GradientColor1 = 1
.Interior.GradientColor1 = vbRed
.Interior.GradientColor1 = RGB(255,255,0)
.Interior.GradientColor2 = 1
.Interior.GradientColor2 = vbRed
.Interior.GradientColor2 = RGB(255,255,0)
아래 Color를 참고하여 ColorIndex와 Color 대신 GradientColor1 또는 GradientColor2를 사용한다.
Pattern
Pattern 속성은 셀의 패턴 스타일을 정의한다.
.Interior.Pattern = 상수
상수 | 설명 |
---|---|
xlPatternNone | 패턴 없음. |
xlPatternSolid | 단색 패턴으로 설정. |
xlPatternChecker | 체크 패턴으로 설정. |
xlPatternCrissCross | 교차 패턴으로 설정. |
PatternColor
PatternColor 속성은 패턴의 색상을 정의한다.
.Interior.PatternColorIndex = 1
.Interior.PatternColor = vBRed
.Interior.PatternColor = RGB(255,255,0)
아래 Color를 참고하여 ColorIndex 대신 PatternColorIndex, Color 대신 PatternColor를 사용한다.
NumberFormat
NumberFormat 개체는 셀의 숫자 형식을 정의하는 개체다.
.NumberFormat = "상수"
형식 문자열 | 설명 |
---|---|
General | 기본 숫자 형식으로 표시. |
$#,##0;$-#,##0;;@ | 통화 형식으로 표시. |
0% | 백분율 형식으로 표시. |
mm/dd/yyyy | 날짜 형식으로 표시. |
hh:mm:ss | 시간 형식으로 표시 (24시간제). |
mm/dd/yyyy hh:mm AM/PM | 날짜와 시간을 포함한 형식으로 표시. |
#,##0.00;-#,##0.00;; | 소수점 두 자리로 표시. |
이 개체를 활용해서 숫자 입력할 때 기본 서식을 지정하고 소수점이 있는 숫자만 소수점 최소 2자리까지 최대 4자리까지 표시할 수 있다.
ws.Cells(cell.Row, 2).NumberFormat = "#,##0;-#,##0;;@"
With ws.Cells(cell.Row, 2).FormatConditions.Add(Type:=xlExpression, Formula1:="=MOD(ws.Cells(cell.Row, 2),1)<>0")
.NumberFormat = "#,##0.00##;-#,##0.00##;;"
End With
VerticalAlignment
VerticalAlignment 개체는 셀 내 텍스트의 수직 정렬 방식을 정의한다.
.VerticalAlignment = 상수
상수 | 설명 |
---|---|
xlVAlignTop | 텍스트를 셀의 맨 위에 정렬. |
xlVAlignCenter | 텍스트를 셀의 중앙에 정렬. |
xlVAlignBottom | 텍스트를 셀의 맨 아래에 정렬. |
xlVAlignJustify | 텍스트를 셀의 양쪽에 맞추어 정렬. |
Color
Borders, Font, Interior 개체에서 Color 속성을 사용할 수 있다.
Borders(테두리 상수).ColorIndex = 1
Font.Color = vBRed
Interior.Color = RGB(255,255,0)
아래 표에 나와있는 색상 뿐 아니라 RGB 코드 이용하면 더 많은 색상을 사용할 수 있다.
Color | ColorIndex | ColorName | RGB | HEX Code |
---|---|---|---|---|
ColorIndex = 1 | Color = vbBlack | Color = RGB(0,0,0) | #000000; | |
ColorIndex = 2 | Color = vbWhite | Color = RGB(255,255,255) | #FFFFFF; | |
ColorIndex = 3 | Color = vbRed | Color = RGB(255,0,0) | #FF0000 | |
ColorIndex = 4 | Color = vbGreen | Color = RGB(0,255,0) | #00FF00 | |
ColorIndex = 5 | Color = vbBlue | Color = RGB(0,0,255) | #0000FF | |
ColorIndex = 6 | Color = vbYellow | Color = RGB(255,255,0) | #FFFF00 | |
ColorIndex = 7 | Color = vbMagenta | Color = RGB(255,0,255) | #FF00FF | |
ColorIndex = 8 | Color = vbCyan | Color = RGB(0,255,255) | #00FFFF | |
ColorIndex = 9 | Color = RGB(128,0,0) | Color = RGB(128,0,0) | #800000 | |
ColorIndex = 10 | Color = RGB(0,128,0) | Color = RGB(0,128,0) | #008000 | |
ColorIndex = 11 | Color = RGB(0,0,128) | Color = RGB(0,0,128) | #000080 | |
ColorIndex = 12 | Color = RGB(128,128,0) | Color = RGB(128,128,0) | #808000 | |
ColorIndex = 13 | Color = RGB(128,0,128) | Color = RGB(128,0,128) | #800080 | |
ColorIndex = 14 | Color = RGB(0,128,128) | Color = RGB(0,128,128) | #008080 | |
ColorIndex = 15 | Color = RGB(192,192,192) | Color = RGB(192,192,192) | #C0C0C0 | |
ColorIndex = 16 | Color = RGB(128,128,128) | Color = RGB(128,128,128) | #808080 | |
ColorIndex = 17 | Color = RGB(153,153,255) | Color = RGB(153,153,255) | #9999FF | |
ColorIndex = 18 | Color = RGB(153,51,102) | Color = RGB(153,51,102) | #993366 | |
ColorIndex = 19 | Color = RGB(255,255,204) | Color = RGB(255,255,204) | #FFFFCC | |
ColorIndex = 20 | Color = RGB(204,255,255) | Color = RGB(204,255,255) | #CCFFFF | |
ColorIndex = 21 | Color = RGB(102,0,102) | Color = RGB(102,0,102) | #660066 | |
ColorIndex = 22 | Color = RGB(255,128,128) | Color = RGB(255,128,128) | #FF8080 | |
ColorIndex = 23 | Color = RGB(0,102,204) | Color = RGB(0,102,204) | #0066CC | |
ColorIndex = 24 | Color = RGB(204,204,255) | Color = RGB(204,204,255) | #CCCCFF | |
ColorIndex = 25 | Color = RGB(0,0,128) | Color = RGB(0,0,128) | #000080 | |
ColorIndex = 26 | Color = RGB(255,0,255) | Color = RGB(255,0,255) | #FF00FF | |
ColorIndex = 27 | Color = RGB(255,255,0) | Color = RGB(255,255,0) | #FFFF00 | |
ColorIndex = 28 | Color = RGB(0,255,255) | Color = RGB(0,255,255) | #00FFFF | |
ColorIndex = 29 | Color = RGB(128,0,128) | Color = RGB(128,0,128) | #800080 | |
ColorIndex = 30 | Color = RGB(128,0,0) | Color = RGB(128,0,0) | #800000 | |
ColorIndex = 31 | Color = RGB(0,128,128) | Color = RGB(0,128,128) | #008080 | |
ColorIndex = 32 | Color = RGB(0,0,255) | Color = RGB(0,0,255) | #0000FF | |
ColorIndex = 33 | Color = RGB(0,204,255) | Color = RGB(0,204,255) | #00CCFF | |
ColorIndex = 34 | Color = RGB(204,255,255) | Color = RGB(204,255,255) | #CCFFFF | |
ColorIndex = 35 | Color = RGB(204,255,204) | Color = RGB(204,255,204) | #CCFFCC | |
ColorIndex = 36 | Color = RGB(255,255,153) | Color = RGB(255,255,153) | #FFFF99 | |
ColorIndex = 37 | Color = RGB(153,204,255) | Color = RGB(153,204,255) | #99CCFF | |
ColorIndex = 38 | Color = RGB(255,153,204) | Color = RGB(255,153,204) | #FF99CC | |
ColorIndex = 39 | Color = RGB(204,153,255) | Color = RGB(204,153,255) | #CC99FF | |
ColorIndex = 40 | Color = RGB(255,204,153) | Color = RGB(255,204,153) | #FFCC99 | |
ColorIndex = 41 | Color = RGB(51,102,255) | Color = RGB(51,102,255) | #3366FF | |
ColorIndex = 42 | Color = RGB(51,204,204) | Color = RGB(51,204,204) | #33CCCC | |
ColorIndex = 43 | Color = RGB(153,204,0) | Color = RGB(153,204,0) | #99CC00 | |
ColorIndex = 44 | Color = RGB(255,204,0) | Color = RGB(255,204,0) | #FFCC00 | |
ColorIndex = 45 | Color = RGB(255,153,0) | Color = RGB(255,153,0) | #FF9900 | |
ColorIndex = 46 | Color = RGB(255,102,0) | Color = RGB(255,102,0) | #FF6600 | |
ColorIndex = 47 | Color = RGB(102,102,153) | Color = RGB(102,102,153) | #666699 | |
ColorIndex = 48 | Color = RGB(150,150,150) | Color = RGB(150,150,150) | #969696 | |
ColorIndex = 49 | Color = RGB(0,51,102) | Color = RGB(0,51,102) | #003366 | |
ColorIndex = 50 | Color = RGB(51,153,102) | Color = RGB(51,153,102) | #339966 | |
ColorIndex = 51 | Color = RGB(0,51,0) | Color = RGB(0,51,0) | #003300 | |
ColorIndex = 52 | Color = RGB(51,51,0) | Color = RGB(51,51,0) | #333300 | |
ColorIndex = 53 | Color = RGB(153,51,0) | Color = RGB(153,51,0) | #993300 | |
ColorIndex = 54 | Color = RGB(153,51,102) | Color = RGB(153,51,102) | #993366 | |
ColorIndex = 55 | Color = RGB(51,51,153) | Color = RGB(51,51,153) | #333399 | |
ColorIndex = 56 | Color = RGB(51,51,51) | Color = RGB(51,51,51) | #333333 |