엑셀 폰트를 한 번에 일괄 변경하는 방법 1분 내 가능

엑셀 문서를 작업하다 보면, 엑셀 폰트를 한 번에 변경해야 하는 경우가 있습니다.

개별적으로 변경하는 것은 번거롭기 때문에, VBA(Visual Basic for Applications)를 활용하면 빠르고 효율적으로 폰트를 일괄 변경할 수 있습니다.

VBA를 사용한게 번거롭고 힘들거라 생각하실 수도 있지만! 적용방법도 알려드릴테니 파일 저장해두시고 필요하실 때마다 꺼내서 써보세요!

이번 글에서는 엑셀 내 모든 텍스트(셀, 도형, 차트 등)의 글꼴을 한 번에 변경하는 방법을 소개해 드리겠습니다!

엑셀 폰트 일괄 변경

제가 취업하고 일을하는데 모든 파일내 엑셀 폰트를 나눔바른고딕으로 작성했어야 했습니다.

다른 사람이 먼저 만들어둔 파일은 기본 폰트가 나눔바른고딕이 아니라 맑은 고딕 같은 것으로 되어있어

시트를 추가할 때만다 Ctrl + A로 모두 선택 후

변경해주었는데 여간 귀찮은 일이 아니었습니다!

또 차트나 도형을 추가하면 내부는 기본 설정이 나눔바른고딕이더라도 적용이 안되서 일일이 수정해주어야하는데 차트나 도형이 많으면… 걱정이 앞섰죠…

그래서 VBA를 이용해서 만든다음 요즘은 편하게 작업하고 있습니다!

  1. 작업 효율성 향상
    여러 시트와 개체가 포함된 문서에서 수동으로 변경하는 것은 시간이 오래 걸립니다.
  2. 문서의 일관성 유지
    서로 다른 폰트가 혼재된 문서는 가독성이 떨어지고, 디자인적으로 통일성이 부족할 수 있습니다.

엑셀의 VBA를 활용하면 모든 시트의 엑셀 폰트 셀, 도형, 차트에 포함된 텍스트의 폰트를 원하는 글꼴로 빠르게 변경할 수 있습니다.

아래 코드 예제를 VBA 편집기에 입력하여 실행하면 됩니다.

다른 폰트를 원하시면 코드에서 나눔바른고딕으로 되어있는 부분 모두 원하시는 폰트 이름으로 변경하시면 됩니다.

1) VBA 코드 실행 방법

  1. Alt + F11을 눌러 VBA 편집기를 엽니다.
  2. 삽입 > 모듈을 클릭하여 새 모듈을 추가합니다.
  3. 아래 VBA 코드를 복사하여 붙여넣습니다.
  4. F5를 눌러 코드를 실행합니다. 또는 상단의 초록색 삼각형(재생모양)을 눌러 실행합니다.

2) VBA 코드: 엑셀 전체 폰트 변경

Sub ChangeFontToNanumWithCharts()
    Dim ws As Worksheet
    Dim ch As ChartObject
    Dim sChart As Chart
    Dim shp As Shape
    
    ' 엑셀 폰트 워크시트 텍스트 변경
    'ThisWorkbook.Styles("Normal").Font.Name = "나눔바른고딕"
    For Each ws In ThisWorkbook.Worksheets
        ' 워크시트 셀 글꼴 변경
        ws.Cells.Font.Name = "나눔바른고딕"


        ' 엑셀 폰트 Shape 텍스트 변경
        For Each shp In ws.Shapes
            If shp.TextFrame2.HasText Then
                With shp.TextFrame2.TextRange.Font
                    ' 이름을 바꾸는 것만으로는 안 먹히기 때문에
                    ' 다른 속성도 건드려서 테마 연동을 강제로 끊음
                    .Name = "나눔바른고딕"
                    .NameFarEast = "나눔바른고딕"
                End With
            End If
        Next shp
        
        
        ' 엑셀 폰트 워크시트 내 차트 텍스트 변경
        For Each ch In ws.ChartObjects
            With ch.Chart
                ' 축 제목, 데이터 레이블, 범례 등 변경
                On Error Resume Next
                .Axes(xlCategory).AxisTitle.Format.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                .Axes(xlValue).AxisTitle.Format.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                .Axes(xlCategory).TickLabels.Font.Name = "나눔바른고딕" ' 축 레이블 변경 추가
                .Axes(xlValue).TickLabels.Font.Name = "나눔바른고딕" ' 축 레이블 변경 추가
                .Legend.Format.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                .ChartTitle.Format.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                For Each srs In .SeriesCollection ' 데이터 레이블 변경 추가
                    srs.DataLabels.Font.Name = "나눔바른고딕"
                    srs.DataLabels.Font.NameFarEast = "나눔바른고딕"
                Next srs
                On Error GoTo 0
            End With
            
            ' Shape 텍스트 변경
            For Each shp In ch.Chart.Shapes
                If shp.TextFrame2.HasText Then
                    shp.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                    shp.TextFrame2.TextRange.Font.NameFarEast = "나눔바른고딕"
                End If
            Next shp
        Next ch
    Next ws
    
    

    
    ' 차트 시트 텍스트 변경
    For Each sChart In ThisWorkbook.Charts
        With sChart
            ' 축 제목, 데이터 레이블, 범례 등 변경
            On Error Resume Next
            .Axes(xlCategory).AxisTitle.Format.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                .Axes(xlValue).AxisTitle.Format.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                .Axes(xlCategory).TickLabels.Font.Name = "나눔바른고딕" ' 축 레이블 변경 추가
                .Axes(xlValue).TickLabels.Font.Name = "나눔바른고딕" ' 축 레이블 변경 추가
                .Legend.Format.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                .ChartTitle.Format.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                For Each srs In .SeriesCollection ' 데이터 레이블 변경 추가
                    srs.DataLabels.Font.Name = "나눔바른고딕"
                    srs.DataLabels.Font.NameFarEast = "나눔바른고딕"
                Next srs
            On Error GoTo 0
        End With
        
        ' 차트 내 Shape 텍스트 변경
        For Each shp In sChart.Shapes
            If shp.TextFrame2.HasText Then
                shp.TextFrame2.TextRange.Font.Name = "나눔바른고딕"
                shp.TextFrame2.TextRange.Font.NameFarEast = "나눔바른고딕"
            End If
        Next shp
    Next sChart
    
    MsgBox "모든 셀과 차트 텍스트가 나눔바른고딕으로 변경되었습니다!"
End Sub

  1. 셀의 폰트 변경 여부
    각 워크시트의 모든 셀 폰트가 ‘나눔바른고딕'(혹은 원하는 폰트)으로 변경되었는지 확인합니다.
  2. 도형 내 텍스트 변경 여부
    텍스트 상자, 도형, 워드아트 등의 글꼴이 올바르게 적용되었는지 체크합니다.
  3. 차트 내 텍스트 변경 여부
    차트 제목, 축 제목, 범례, 데이터 레이블 등의 폰트가 정상적으로 바뀌었는지 확인합니다.
  4. 새로 입력하는 텍스트도 적용되는지 확인
    기본 스타일(테마 글꼴)도 변경했기 때문에, 새로운 텍스트에도 동일한 폰트가 적용됩니다.

1) 파일 다운로드

2) 파일 적용 방법

아래 사진을 참고해 주세요

엑셀 폰트 일괄 변경

마찬가지로 원하는 폰트 이름을 코드에서 “나눔바른고딕” – >”원하는 폰트 이름”으로 엑셀 폰트를 일괄 변경하시면 됩니다.

VBA를 활용하면 엑셀 문서 내 모든 텍스트의 폰트를 손쉽게 변경할 수 있습니다.

특히, 테마 글꼴이 적용된 상태에서도 확실하게 변경이 가능하므로, 폰트 통일이 필요한 경우 매우 유용합니다.

위의 방법을 적용하면 엑셀 문서의 가독성을 높이고, 작업의 효율성을 극대화할 수 있습니다.

*** 쿠팡 벚꽃 사진 추천템! ***

RUNHome 4800w 레트로 미니 디지털 카메라 여행용 인생+64G메모리카드, 화이트 캐논 EOS 550D+18-55mm+16GB+가방+리더기+청소세트 입문용 DSLR카메라 사진수업용 탐론 SP 24-70mm F/2.8 Di VC USD G2 A032 캐논마운트 캐논 400D + 18-55mm + 기본 메모리카드포함 행복한마을 조화 벚꽃날리며 4다발, 혼합 색상

같이 보면 좋은 글

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”

이 게시물이 유용하셨나요?

평점을 매겨주세요.

평균 평점 0 / 5. 투표수 0

이 게시물에 첫 평점을 남겨주세요!

Leave a Comment

error: 마우스 우클릭을 하실 수 없습니다.