자동 열 너비 매크로
엑셀의 열 너비 자동 맞춤은 [홈] - [서식] - [열 너비 자동 맞춤]의 이미 기능이 별도로 제공되고 있다. 하지만 나는 이 기능에 다른 기능을 추가하거나 단축키를 이용하는 등의 빠르고 효율적인 업무를 위하여 매크로를 생성하여 사용하고 있다.
물론 기존의 기능도 빠른 실행 등록의 단축키를 이용한 설정이 가능할 것이다. 하지만 단축키가 문제가 아니다. 텍스트에서 양 옆의 여분을 포함한 너비가 필요했다. 이유는 기본 기능인 열 너비 자동 맞춤은 짧은 글자는 사정없이 너비를 줄여 버린다. 적당히 줄였으면 좋겠는데 그렇지 못하니 한 번 더 가공작업을 해야 할 판이다. 더 정확하고 간편한 방법은 늘 필요하다.
엑셀 매크로 vba 어떻게 사용할까 기초 가이드
엑셀의 매크로(Macro)는 반복적이고 자주 사용되는 작업을 자동화하기 위해 녹화하거나 프로그래밍한 일련의 명령어 집합이며, 엑셀 매크로는 VBA(Visual Basic for Applications)라는 프로그래밍 언어를
minidrawer.tistory.com
매크로 조건 및 코드 (자동 열 너비)
매크로 동작 조건은 아래와 같다. (TXT 파일 공유)
- 선택한 셀, 위치의 열 일것.
- 선택한 셀에 값(텍스트)이 있을 것.
- 열 너비를 텍스트 길이에 맞춰 변경.
- 복수의 셀을 선택해도 동작할 것.
- 여유분 +2를 포함할 것.
- 매크로가 반복(1회 동작)되지 않을 것.
Sub 열너비자동맞춤()
Dim 선택셀 As Range
Set 선택셀 = Selection
' 선택한 셀의 열
Dim 대상열 As Range
Set 대상열 = Intersect(ActiveSheet.UsedRange, 선택셀.EntireColumn)
' 값(텍스트)가 있을때만 진행
If Not 대상열 Is Nothing And WorksheetFunction.CountA(대상열) > 0 Then
' 열 너비 자동 맞춤
대상열.Columns.AutoFit
' 2칸 여유 부여
Dim 셀 As Range
For Each 셀 In 대상열
셀.ColumnWidth = 셀.ColumnWidth + 1
Next 셀
End If
End Sub
매크로 실행 (자동 열 너비)
매크로를 실행하면 텍스트의 길이에 따라 너비가 결정되고 여분이 부여된다. 결과물을 보면 조금 더 자연스럽게 너비가 맞추어진 것을 확인할 수 있다. 이 과정도 단축키를 적용하여 셀을 선택하고 바로 적용할 수 있다.
행 방향으로 여러 셀을 선택하고 한 번에 열 너비 자동 맞춤도 가능하다. 이때 텍스트의 길이 만큼과 여유 포인트까지 포함하여 열 너비가 조정된다. 아울러, 아래 방향의 셀 정렬은 가장 긴 값을 가진 셀의 너비를 기준으로 맞추어진다.
매크로 응용 (자동 열 너비)
이번 매크로의 포인트는 AutoFit이라는 명령어를 사용하는 매크로이다. 이는 기본 제공 기능인 열 너비 자동 맞춤과 동일한 결과를 나타낸다. 하지만 여분을 조정하는 기능을 넣어 조금 개선된 매크로를 생성했다.
코드의 주석 중 '2칸 여유 부여' 아래 +1을 원하는 값으로 변경 응용하여 사용하는 것도 좋은 방법이다. 이 글은 복사가 안되니 코드는 아래와 같이 파일을 공유해 뒀으니 참조하길 바란다.
'엑셀 매크로로 편하게 엑셀하기
사무실 일잘러의 가장 필요한 팁들
minidrawer.tistory.com
'엑셀 팁(excel) > 엑셀 매크로 VBA' 카테고리의 다른 글
엑셀 시트 값 합치기 매크로(vba) #6 (1) | 2023.12.09 |
---|---|
엑셀 특정 값 데이터 검색 매크로(vba) #5 (1) | 2023.12.09 |
엑셀 문자열 합치기 매크로(vba) #4 (2) | 2023.12.05 |
엑셀 필요한 매크로 #2 채워진 셀만 한 줄(행, 열) 선택 (1) | 2023.12.02 |
엑셀 매크로(vba) 원하는 만큼 행 열 추가 (1) | 2023.11.30 |