엑셀 VBA에서 ColumnWidth 속성은 열의 너비를 설정하거나 가져오는 기능을 제공합니다.
즉, 엑셀의 열 크기를 조절할 때 사용됩니다.
1. 기본 문법
Range("열 범위").ColumnWidth = 숫자
|
- 열 범위 → 너비를 설정할 열 또는 셀 범위
- 숫자 → 열 너비 (기본 단위: 문자 1개 너비)
📌 기본 열 너비 = 8.43 (약 8~9개의 문자 크기)
📌 셀의 값에 맞게 열 너비 자동 조정은 AutoFit 사용
2. 단일 열의 너비 설정
Sub 단일열_너비()
Columns("A").ColumnWidth = 20
End Sub
|
📌 A열의 너비를 20으로 설정
3. 여러 열의 너비 설정
Sub 여러열_너비()
Columns("A:C").ColumnWidth = 15
End Sub
|
📌 A~C열의 너비를 15로 설정
4. 특정 범위 내 열 너비 설정
Sub 특정범위_열너비()
Range("A1:D10").ColumnWidth = 12
End Sub
|
📌 A1:D10 범위의 열 너비를 12로 설정
5. 현재 열 너비 가져오기
Sub 현재_열너비_출력()
MsgBox "A열의 현재 너비: " & Columns("A").ColumnWidth
End Sub
|
📌 A열의 현재 너비를 메시지 박스로 출력
6. 셀 범위의 열 너비 자동 조정 (AutoFit)
Sub 열너비_자동조정()
Columns("A:C").AutoFit
End Sub
|
📌 A~C열의 너비를 내용에 맞게 자동 조정
7. 전체 워크시트의 열 너비 자동 조정
Sub 전체_열너비_자동조정()
Cells.EntireColumn.AutoFit
End Sub
|
📌 전체 시트의 열 너비를 자동 조정
8. 모든 시트에서 열 너비 자동 조정
Sub 모든시트_열너비_자동조정()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
ws.Cells.EntireColumn.AutoFit
Next ws
End Sub
|
📌 현재 통합 문서의 모든 시트에서 열 너비 자동 조정
9. 열 너비가 특정 값보다 크면 자동 조정
Sub 특정값_초과_자동조정()
Dim ws As Worksheet, col As Range
Set ws = ActiveSheet
For Each col In ws.UsedRange.Columns
If col.ColumnWidth > 20 Then
col.AutoFit
End If
Next col
End Sub
|
📌 열 너비가 20보다 큰 경우만 자동 조정
10. 열 너비를 원래 기본값으로 복원
Sub 열너비_초기화()
Columns("A:C").ColumnWidth = 8.43 ' 기본값으로 초기화
End Sub
|
📌 A~C열의 너비를 기본값 8.43으로 복원
11. 선택된 열의 너비 설정
Sub 선택된열_너비()
Selection.EntireColumn.ColumnWidth = 18
End Sub
|
📌 사용자가 선택한 열의 너비를 18로 설정
12. 열 너비를 두 배로 설정
Sub 열너비_두배()
Dim col As Range
For Each col In Columns("A:C")
col.ColumnWidth = col.ColumnWidth * 2
Next col
End Sub
|
📌 A~C열의 너비를 현재 값의 두 배로 변경
📝 정리
기능
|
VBA 코드
|
단일 열 너비 설정
|
Columns("A").ColumnWidth = 20
|
여러 열 너비 설정
|
Columns("A:C").ColumnWidth = 15
|
특정 범위 내 열 너비 설정
|
Range("A1:D10").ColumnWidth = 12
|
현재 열 너비 가져오기
|
MsgBox Columns("A").ColumnWidth
|
열 너비 자동 조정 (AutoFit)
|
Columns("A:C").AutoFit
|
전체 워크시트 열 자동 조정
|
Cells.EntireColumn.AutoFit
|
모든 시트 열 자동 조정
|
For Each ws In ThisWorkbook.Sheets: ws.Cells.EntireColumn.AutoFit: Next ws
|
특정 값 이상이면 자동 조정
|
If col.ColumnWidth > 20 Then col.AutoFit
|
열 너비 초기화 (기본값 8.43)
|
Columns("A:C").ColumnWidth = 8.43
|
선택된 열 너비 설정
|
Selection.EntireColumn.ColumnWidth = 18
|
열 너비를 두 배로 조정
|
col.ColumnWidth = col.ColumnWidth * 2
|
🔥 VBA의 ColumnWidth 속성을 활용하면 원하는 대로 열의 크기를 조절할 수 있습니다! 🚀