엑셀 VBA에서 Border 개체는 셀, 범위, 차트 등의 테두리(선)를 설정 및 변경하는 데 사용됩니다.
1. 기본 Border 속성
✅ 엑셀에서 다룰 수 있는 테두리 종류
테두리 위치
|
속성 (Excel VBA)
|
왼쪽 테두리
|
Borders(xlEdgeLeft)
|
오른쪽 테두리
|
Borders(xlEdgeRight)
|
위쪽 테두리
|
Borders(xlEdgeTop)
|
아래쪽 테두리
|
Borders(xlEdgeBottom)
|
모든 외곽선
|
Borders(xlAround)
|
모든 내부선
|
Borders(xlInsideHorizontal), Borders(xlInsideVertical)
|
2. 테두리 스타일 관련 속성
속성
|
설명
|
LineStyle
|
선 스타일 설정
|
Color
|
선 색상 (Index 방식)
|
ColorIndex
|
기본 색상 팔레트 색상 적용
|
Weight
|
선 굵기 설정
|
✅ 선 스타일(LineStyle) 종류
스타일
|
VBA 코드
|
실선
|
xlContinuous
|
점선
|
xlDot
|
대시선
|
xlDash
|
대시 점선
|
xlDashDot
|
이중선
|
xlDouble
|
없음
|
xlNone
|
✅ 선 굵기(Weight) 종류
굵기
|
VBA 코드
|
얇음
|
xlHairline
|
보통
|
xlThin
|
굵음
|
xlMedium
|
매우 굵음
|
xlThick
|
3. 테두리 설정 예제
📌 특정 셀(A1)의 모든 테두리 설정
Sub 셀_테두리_설정()
With Range("A1").Borders
.LineStyle = xlContinuous ' 실선
.Weight = xlThin ' 보통 굵기
.Color = RGB(0, 0, 255) ' 파란색
End With
End Sub
|
📌 특정 범위(A1:D5)의 테두리 설정
Sub 범위_테두리_설정()
With Range("A1:D5").Borders
.LineStyle = xlContinuous ' 실선
.Weight = xlMedium ' 굵기 설정
.Color = RGB(255, 0, 0) ' 빨간색
End With
End Sub
|
📌 개별 테두리 설정 (위, 아래, 좌, 우)
Sub 개별_테두리_설정()
With Range("B2").Borders(xlEdgeTop) ' 위쪽 테두리
.LineStyle = xlContinuous
.Weight = xlThick
.Color = RGB(255, 0, 0) ' 빨간색
End With
With Range("B2").Borders(xlEdgeBottom) ' 아래쪽 테두리
.LineStyle = xlDashDot
.Weight = xlThin
.Color = RGB(0, 255, 0) ' 초록색
End With
End Sub
|
📌 내부선만 설정 (셀 내부 가로선 & 세로선)
Sub 내부_테두리_설정()
With Range("A1:D5")
.Borders(xlInsideHorizontal).LineStyle = xlContinuous ' 내부 가로선
.Borders(xlInsideVertical).LineStyle = xlContinuous ' 내부 세로선
.Borders(xlInsideHorizontal).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
End With
End Sub
|
📌 모든 외곽선만 설정
Sub 외곽선_설정()
With Range("A1:D5").Borders(xlAround)
.LineStyle = xlContinuous
.Weight = xlThick
.Color = RGB(0, 0, 255) ' 파란색
End With
End Sub
|
4. 테두리 삭제
Sub 테두리_삭제()
Range("A1:D5").Borders.LineStyle = xlNone
End Sub
|
📝 정리
기능
|
VBA 코드
|
모든 테두리 설정
|
.Borders.LineStyle = xlContinuous
|
위쪽 테두리 설정
|
.Borders(xlEdgeTop).LineStyle = xlContinuous
|
아래쪽 테두리 설정
|
.Borders(xlEdgeBottom).LineStyle = xlDash
|
왼쪽/오른쪽 테두리 설정
|
.Borders(xlEdgeLeft) / .Borders(xlEdgeRight)
|
외곽선 설정
|
.Borders(xlAround).LineStyle = xlContinuous
|
내부선 설정
|
.Borders(xlInsideHorizontal) & .Borders(xlInsideVertical)
|
테두리 색 변경
|
.Borders.Color = RGB(255,0,0)
|
테두리 굵기 변경
|
.Borders.Weight = xlThick
|
테두리 삭제
|
.Borders.LineStyle = xlNone
|
🔥 VBA에서 Borders 개체를 활용하면 보고서 자동화 및 가독성 향상에 유용합니다! 🚀