• 최초 작성일: 2006-07-25
  • 최종 수정일: 2026-09-30
  • 조회수: 28 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 숫자 데이터에만 색칠하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

어디선가 보았는데 '잘 쉬는 것도 기술'이라고 하더군요. 참으로 맞는 말이라고 생각합니다.

아무 것도 하지 않은 채 단지 멍하니 있는 것이 휴가는 아닐 것이며, 또 그렇다고 해서 꼭 해외여행을 하거나 낯선 환경을 접하는 것만이 휴가는 아닐 것입니다.

'휴가'는 곧 '몰입'과 같은 의미라고 생각합니다. 그동안 읽지 못했던 책을 읽거나 운동을 하거나 영화를 보거나 여행을 하거나 혹은 다른 무엇을 '하느냐'가 중요한 것이 아니라 얼마만큼 그 일에 빠져 들었는가 즉 '몰입'을 하였는가에 따라 성공적인 휴식이 되었는가가 판가름 난다는 것이지요.

그런 의미에서 다른데 가지 않고 집에서만 시간을 보내는 것도 어디에 얼마만큼 몰입을 하였느냐에 따라 훌륭한 성공이 될 수도 있을 것입니다. 중요한 것은 시간을 자신의 의지와 계획대로 잘 보냈느냐 하는 것입니다.

휴가철에는 몰입의 대상을 잘 찾고 계획을 잘 세워서 멋진 재충전의 시간을 가지시기를 바랍니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 대표 직강 1강 무료

🎁 파워툴스 마스터클래스 · 엑셀 바이브 코딩

AI에게 말로 지시해서 '나만의 엑셀 도구'를 만들고 리본에 장착합니다.

  • 코딩 지식 없이 시작 · 코드는 AI가 작성
  • 엑셀 리본에 내 탭과 버튼을 만들고 XLAM으로 공유
  • 1강 무료 수강 가능
수강 신청하기 강의 소개 보기

숫자 데이터에만 색칠하기

핵심 요약: 문장 속 숫자에만 서식 지정하기

셀 안의 문장에서 숫자로 된 글자만 빨간색 굵은 글꼴로 바꾸는 VBA 코드입니다. 글자 하나하나를 검사하는 것이 핵심입니다.

  • 1단계: 현재 시트의 사용된 영역(UsedRange)을 작업 대상으로 지정합니다.
  • 2단계: 빈 셀이 아니면 글자를 하나씩 IsNumeric으로 검사합니다.
  • 3단계: 숫자이면 해당 글자의 색을 빨간색, 굵게 지정합니다.

Step 1: 어떤 질문이었을까요?

질문을 어디에 두었는지는 기억나지 않습니다만, 어느 분의 질문 중에 '시트에 입력된 내용 중에서 숫자에만 별도의 서식을 지정할 수 없겠는가?' 하는 것이 있었습니다.

아래 버튼을 누르면 현재 시트의 내용 중 일부분이 Workplace 시트로 옮겨짐과 동시에 'Click Me!'라는 버튼이 생기는데 이 버튼을 클릭해 보시기 바랍니다.

이것은 연습용입니다 12345!!
abced 12345VBA 12984 Excel
12345 Testing!!!

문장 내에서 숫자 데이터에만 빨간색이 입혀지는 것을 확인할 수 있습니다.

Step 2: 코드 살펴보기

사용된 코드를 살펴볼까요?

Sub MakeSample()

    Dim rngTestRange As Range
    Set rngTestRange = Worksheets("Preface").Range("A9:F38")

    rngTestRange.Copy
    Worksheets.Add after:=Sheets("Preface")
    ActiveSheet.Paste
    ActiveWindow.DisplayGridlines = False
    ' 대상 영역을 복사하고 Preface 시트 뒤에 새로운 시트를 한 장 삽입한 다음 붙여 넣습니다.

    Range("H2").Select
    With ActiveCell
        ActiveSheet.Buttons.Add(.Left, .Top, .Width * 2, .Height).Select
    End With
    ' 새로운 시트의 H2 셀에 버튼을 하나 삽입합니다.

    With Selection
    ' 앞에서 삽입한 버튼에 대해 캡션을 설정하고 클릭할 경우 작동할 프로시저를 연결합니다.

        .Caption = "Click Me!"
        .Font.Name = "Arial"
        .Font.Size = 11
        .OnAction = "ColoringNumber"
    End With

    Range(Selection.TopLeftCell.Address).Select
    MsgBox "연습용 시트를 만들었습니다. Click Me! 버튼을 클릭하세요!", , "www.iExceller.com"

End Sub

이번에는 'Click Me!' 버튼을 클릭할 경우 작동하게 되는 'ColoringNumber'라는 외부 프로시저를 작성합니다.

Sub ColoringNumber()

    Dim rngCell As Range
    Dim rngTarget As Range
    Dim i As Integer
    Dim intLen As Integer
    Set rngTarget = ActiveSheet.UsedRange
    ' 현재 시트 중에서 사용된 영역(UsedRange)을 작업 대상으로 합니다.

    For Each rngCell In rngTarget
        intLen = Len(rngCell.Value)

        If intLen = 0 Then
        ' intLen이 0이면, 즉 빈 셀이면 아무 것도 하지 않고…

            ' Doing Nothing
        Else
            With rngCell
                For i = 1 To intLen
                ' 빈 셀이 아니라면 한 글자씩 확인하여 숫자인 경우에는 빨간색을 지정합니다.

                    If IsNumeric(.Characters(i, 1).Text) Then
                        With .Characters(i, 1).Font
                            .ColorIndex = 3
                            .Bold = True
                        End With
                    End If
                Next i
            End With
        End If
    Next rngCell

End Sub

오늘은 여기까지…

정리 — 숫자 색칠 코드 핵심

구분 사용한 코드 역할
대상 영역 ActiveSheet.UsedRange 사용된 영역 전체
글자 수 Len(rngCell.Value) 반복할 횟수
숫자 판별 IsNumeric(.Characters(i, 1).Text) 한 글자가 숫자인지 확인
서식 지정 .ColorIndex = 3 / .Bold = True 숫자를 빨간색 굵게
버튼 연결 .OnAction = "ColoringNumber" 버튼 클릭 시 프로시저 실행

자주 묻는 질문 (FAQ)

Q1. 셀 안의 일부 글자에만 서식을 지정할 수 있나요?

네, Characters(시작 위치, 길이) 속성으로 셀 안의 일부 글자를 지정한 다음 Font 속성으로 서식을 지정하면 됩니다.

Q2. IsNumeric 함수는 어떤 값을 숫자로 판단하나요?

숫자로 해석할 수 있는 값이면 True를 반환합니다. 이 예제처럼 한 글자씩 검사하면 0에서 9까지의 글자가 숫자로 판단됩니다.

Q3. 버튼에 매크로는 어떻게 연결하나요?

이 예제에서는 코드로 버튼을 만들고 OnAction 속성에 프로시저 이름을 문자열로 지정했습니다. 워크시트에서 직접 만든 버튼은 마우스 오른쪽 버튼을 눌러 '매크로 지정'으로 연결할 수 있습니다.

마치며

글자를 하나씩 검사하는 방식을 익혀 두면 문자열 속의 특정 글자만 골라 서식을 지정하는 다양한 작업에 응용할 수 있습니다.