엑셀 워크시트에 있는 데이터 영역을 꾸미기 위해 테두리 선을 그리게 됩니다. VBA 에서도 개체 속성을 이용해서 선을 그리고 색상을 변경하는 등 꾸밀 수 있습니다. 오늘은 선택한 영역의 외곽 테두리 뿐만 아니라 셀 전체 라인을 그리는 방법에 대해 알아 보도록 하겠습니다. 외각 테두리를 그리는 BorderAround 함수와 셀 라인을 그리는 Borders 속성을 이용하였습니다.
▼ 먼저 외곽 테두리를 그리는데 사용하는 BorderAround 함수입니다. 5개의 인자가 있습니다. 각각 라인스타일, 선의 두께, 색상 인덱스, 색상 RGB, 색상 테마 입니다. 원형은 다음과 같습니다. 각 인자들은 무엇이며 입력 가능한 상수값들에 대해서 하나씩 알아 보겠습니다.
Range.BorderAround(LineStyle, Weight, ColorIndex, Color, ThemeColor)
◎ LineStyle : 첫 번째 인수인 LineStyle 입니다. 상수 중 하나로 선 스타일을 지정합니다. xlContinuous (실선), xlDash (파선), xlDashDot (파선과 점선이 교대로 나타나는 형태), xlDashDotDot (파선과 두개의 점선이 교대로 나타나는 형태), xlDot (점선), xlDouble (이중선), xlLineStyleNone (선 없음), xlSlantDshDot (기울어진 파선) 등이 있습니다.
◎ Weight : 두 번째 인수로 선의 두께를 지정합니다. xlHairline (가장 가는 실선), xlThin (가는 실선), xlMedium (보통굵기의 선), xlThick (굵은 실선) 이 있습니다.
◎ ColorIndex : 컬러 팔레트에 있는 색상 번호로 선 색을 지정한다. ColorIndex 에 해당하는 색상은 다음과 같습니다. 해당 번호를 입력하면 지정된 색상을 사용할 수 있습니다.
◎ Color : 외곽 라인의 색상을 RGB 포맷으로 지정합니다.
◎ ThemeColor : 라인의 테마를 지정합니다. 테마란 여러 속성이 결합된 형태를 말합니다. 상수를 하나씩 입력하시면서 테스트 해 보세요.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 개발할 때 로그 출력하는 방법 ▶ 엑셀 VBA 시트에 있는 내용을 파일, 텍스트로 출력하기 ▶ 엑셀 VBA 연산자 사용해서 String 문자열을 합치기 ▶ 엑셀 VBA 마지막 행과 열의 수 찾기 ▶ 엑셀 VBA GoTo 문 이용해서 줄로 분기하기 |
▼ BorderAround 함수를 이용해서 영역 외각에 라인을 그려 보았습니다. 먼저 데이터가 있는 영역을 판단해야겠죠. Range 개체의 CurrentRegion 속성을 이용해서 연속된 데이터 영역을 가져옵니다. 다음 Borders.LineStyle 속성의 xlLineStyleNone 상수값은 기존 선을 모두 삭제하라는 명령입니다. 초기화 후 BorderAround 함수를 이용해서 선을 그리는 소스입니다.
Sub 영역_테두리() Dim rng As Range With Sheets("line") Set rng = .Range("B2").CurrentRegion '' 기존 라인을 삭제한다. rng.Borders.LineStyle = xlLineStyleNone '' 외곽 라인을 그린다. rng.BorderAround LineStyle:=xlContinuous, Weight:=xlThin, ColorIndex:=22 End With End Sub |
▼ 다음은 Borders 속성을 이용해서 테두리가 아닌 셀에 모든 라인을 그리는 방법입니다. BorderAround 에서 인수로 입력된 상수값을 참고 하시면 됩니다.
Sub 영역_라인() Dim rng As Range With Sheets("line") Set rng = .Range("B2").CurrentRegion '' 기존 라인을 삭제한다. rng.Borders.LineStyle = xlLineStyleNone rng.Borders.LineStyle = 1 '' 실선 rng.Borders.ColorIndex = 14 '' 색상 rng.Borders.Weight = xlThin '' xlThin : 가는 실선 End With End Sub |
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 개발할 때 로그 출력하는 방법 ▶ 엑셀 VBA 시트에 있는 내용을 파일, 텍스트로 출력하기 ▶ 엑셀 VBA 연산자 사용해서 String 문자열을 합치기 ▶ 엑셀 VBA 마지막 행과 열의 수 찾기 ▶ 엑셀 VBA GoTo 문 이용해서 줄로 분기하기 |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 셀 영역 선택하는 여러가지 방법 (1) | 2023.09.06 |
---|---|
엑셀 VBA Range 객체 중 Areas 속성 사용하기 (0) | 2023.08.25 |
엑셀 VBA 년도, 월 비교해서 발생 횟수 조회하는 방법 (1) | 2023.08.09 |
엑셀 VBA 이미지 셀 크기에 자동으로 삽입하는 매크로 만들기 (6) | 2023.08.08 |
엑셀 VBA 정규표현식 사용하는 방법, 공백 문자 제거하기 (0) | 2023.07.20 |
엑셀 VBA 반복문 Do While 사용하기 (3) | 2023.07.19 |
엑셀 VBA 영역에서 빈 셀, 행 열 삭제하기 (1) | 2023.07.18 |
엑셀 VBA 메시지박스 (MsgBox) 에 문자열 줄 바꿈을 적용하는 방법 (0) | 2023.07.09 |