오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
실무자 기초 강의

데이터 유효성 목록상자 기본값 설정

오빠두엑셀 by 오빠두엑셀
  • 학습시간 12분
  • 난이도 중급
  • 작성일 2020.07.10

간단한 설정으로 데이터유효성 검사 목록상자의 기본값 표시 방법을 알아봅니다.

이 강의에서는 데이터 유효성 목록 상자에 '값을 선택하세요' 와 같은 안내 문구를 기본값으로 자동 표시하는 세 가지 방법을 다룹니다. 셀 정렬을 활용한 기본 방식, 오류 메시지 설정을 응용한 방법, 그리고 매크로를 이용해 병합된 셀에서도 동일하게 동작하는 방법까지 단계별로 정리하여, 양식 입력 화면의 사용성을 한층 끌어올릴 수 있습니다.

데이터 유효성 목록상자 기본값 설정
DOWNLOADS

실습자료를 준비했어요

수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇

실습 가이드

데이터 유효성 목록 상자는 지정한 셀에 입력할 수 있는 값을 특정 범위 또는 목록 안의 값으로만 제한하는 기능입니다.

엑셀 데이터 유효성 목록 상자

예를 들어 [ 상의, 하의, 자켓, 블라우스 ] 와 같이 네 가지 제품 구분 중 하나만 입력해야 하는 상황에서 데이터 유효성 목록 상자를 활용하면, 정해진 네 개의 값 중 하나만 선택해서 입력하도록 구성할 수 있습니다.

  1. 예제파일의 C9 셀을 선택한 뒤, [ 데이터 - 데이터 유효성 검사 - 데이터 유효성 검사 ] 로 이동합니다.

    데이터 데이터 유효성 검사 이동

  2. 제한 대상으로 '목록'을 선택한 뒤, 원본 범위로 H9:H18 범위를 지정합니다. 확인 버튼을 눌러 창을 닫습니다.

    유효성 원본 범위 설정

  3. 데이터 유효성 검사 목록 상자가 정상적으로 적용되었습니다.

    데이터 유효성 검사 목록 완료

  4. 원본 범위에 새 데이터가 추가될 때 범위가 자동으로 확장되도록 하려면 표 기능이나 동적 범위를 활용합니다. 동적 범위에 대한 자세한 내용은 아래 OFFSET 동적 범위 기초 강의를 참고합니다.

이번에는 데이터 유효성 목록 상자에 기본값을 표시하는 방법을 살펴봅니다. 예를 들어 아무런 값도 선택되지 않은 상태에서 '----- 값을 선택하세요 ------' 와 같은 안내 문구가 자동으로 출력되도록 설정할 수 있습니다.

셀 정렬 기능을 활용하면 데이터 유효성 목록뿐 아니라 주변 셀이 비어 있을 때 기본값을 손쉽게 표시할 수 있습니다.

  1. 알파벳 'C'를 클릭하여 C열을 전체 선택한 뒤, 우클릭 - 삽입을 클릭하여 새 열을 추가합니다. (단축키 Ctrl + Shift + +)

    새로운 열 삽입

  2. C9 셀을 선택한 뒤, [ '----- 값을 입력하세요 ----- ] 를 입력합니다. (이때 앞에 작은따옴표(')를 함께 입력하는 것에 주의합니다.)

    기본값 입력

  3. 키보드 Ctrl 키를 누른 채로 D9, D12, D15, ... D27 셀까지 기존 데이터 유효성 목록이 설정된 셀을 모두 선택합니다. 선택한 셀을 우클릭하여 '셀 서식'으로 이동합니다.

    범위 선택 후 셀 서식 이동

  4. '테두리' 탭으로 이동한 뒤, 왼쪽 테두리를 '없음'으로 설정합니다. 확인을 눌러 창을 닫습니다.

    데이터유효성 검사 테두리 설정

  5. C9 셀을 선택한 뒤, 우클릭하여 셀 서식으로 이동합니다. 이번에는 위쪽·아래쪽·왼쪽 테두리를 추가한 뒤, 확인을 눌러 창을 닫습니다.

    유효성 목록 기본값 셀 테두리

  6. C9 셀을 복사합니다. 이후 C9, C12, C15, ... C27 까지 범위를 선택한 뒤, Ctrl + V 로 복사한 값을 붙여넣기 합니다.

    값 복사 후 붙여넣기

  7. C열을 전체 선택한 뒤, 홈 탭의 맞춤 그룹에서 '들여쓰기' 버튼을 클릭하여 한 번 들여쓰기 합니다.

    들여쓰기 설정

  8. C열이 선택된 상태에서 우클릭하여 열 너비로 이동합니다. 열 너비를 0.05로 변경합니다.

    열너비 0.05

  9. 데이터 유효성 목록 기본값 설정이 완료되었습니다.

    엑셀 데이터 유효성 목록 기본값 GIF

셀 정렬 기능을 활용한 기본값 표시 방법에는 한 가지 제한이 있습니다. 바로 유효성 검사가 적용된 셀이 병합되어 있을 경우에는 기본값이 표시되지 않는다는 점입니다. 이런 상황에서는 아래의 두 번째, 세 번째 방법을 사용합니다.

셀병합 시 기본값 표시 문제

  1. 데이터 유효성 검사가 적용된 셀을 선택한 뒤, [ 데이터 - 데이터 유효성 검사 - 데이터 유효성 검사 ] 로 이동합니다.

    데이터 데이터 유효성 검사 이동

  2. '오류 메시지' 탭으로 이동한 뒤, '유효하지 않은 데이터를 입력하면 오류 메시지 표시' 체크박스를 비활성화합니다. '확인' 버튼을 눌러 창을 닫습니다.

    오류메시지 체크박스 비활성화

  3. 셀에 기본값을 입력합니다.

    유효성 목록 기본값 입력

  4. 다시 데이터 유효성 검사 설정으로 이동한 뒤, 체크박스를 활성화합니다. '확인' 버튼을 눌러 창을 종료합니다.

    유효성 목록 체크박스 활성화

  5. 데이터 유효성 목록 기본값 설정이 완료되었습니다. 단, 두 번째 방법은 유효성 검사 값을 입력하기 전 최초 한 번만 기본값이 출력되며, 한 번 값을 선택하면 그 이후에는 기본값이 표시되지 않는다는 한계가 있습니다.

    기본값 설정 완료

매크로를 사용하면 병합된 셀에 적용된 데이터 유효성 목록에서도 기본값을 표시할 수 있습니다. 아래에 완성된 전체 코드를 제공하므로, 셀 주소와 안내 문구만 상황에 맞게 수정하면 데이터 유효성 목록의 기본값을 손쉽게 적용할 수 있습니다.

  1. [ 개발 도구 - Visual Basic ] 을 클릭하거나 단축키 Alt + F11 키를 눌러 매크로 편집기로 이동합니다. 개발 도구가 보이지 않을 경우, 아래 개발 도구 활성화 방법 관련 강의를 참고합니다.

    개발도구 매크로편집기 이동

  2. 데이터 유효성 목록 상자의 기본값을 적용할 시트를 더블클릭하면 시트 모듈이 활성화됩니다.

    시트 더블클릭 시트모듈

  3. 아래 명령문을 복사한 뒤, 시트 모듈 안에 붙여넣기 합니다.
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim rng As Range
    Dim sRng As String: Dim vRngs As Variant: Dim vRng As Variant
    Dim sMsg As String
     
    Application.EnableEvents = False
     
    ' 데이터 유효성 검사가 활성화된 셀 주소를 쉼표(,) 로 구분하여 입력하세요.
    sRng = "셀1, 셀2, 셀3"
    ' 데이터 유효성 검사 기본값으로 출력 될 메세지를 입력하세요.
    sMsg = "------ 값을 선택하세요 ----- "
     
    vRngs = Split(sRng, ",")
     
    For Each vRng In vRngs
        If Trim(vRng) = Target.Resize(1, 1).Address(0, 0) Then
            On Error GoTo EH:
            If Len(Target.Text) = 0 Then
                On Error Resume Next
                Target.Validation.ShowError = False
                Target.Value = sMsg
                Target.Validation.ShowError = True
                Exit For
            End If
        End If
    Next
     
    EH:
    Application.EnableEvents = True
     
    End Sub
  4. sRng = "셀1, 셀2, 셀3" 부분을 실제 데이터 유효성 목록이 적용된 셀 주소로 변경합니다. (예제파일 기준 D9, D12, D15, ... D27)
    sRng = "D9, D12, D15, D18, D21, D24, D27"
  5. sMsg = "------ 값을 선택하세요 ----- " 부분을 실제로 출력할 데이터 유효성 목록 상자의 기본값으로 변경합니다.
    sMsg = "------ ★★ 값을 선택하세요 ★★ ------"
  6. 이후 Sheet1 로 이동한 뒤 데이터 유효성 목록 상자의 값을 지우면 매크로에 입력한 기본값이 자동으로 표시됩니다.

    엑셀 데이터 유효성 목록 기본값 매크로 완성 GIF

댓글 7
5 (6개 평가)
따스함
따스함 2020.07.12 08:08
고맙습니다.
혬짱짱
혬짱짱 2020.08.17 22:36
그냥 볼때는 할수있을것 같은데 막상 해보면 자꾸 까먹네요 ㅎㅎㅎ 숙달될 수 있게 연습도 많이하고 많은 노력이 필요할 것 같아요 감사합니다!!
JINTIE
JINTIE 2021.03.13 19:04
오늘도 오빠두와 함께 하는 JINTIE!
례제에서 매크로가 잘 안됩니다. 그대로 했는데 웬일가요?
무엇이 잘못되였는지, 매크로기능이 체계와 무슨 관계라도 있는지요?
많은 방조 바라면서, 😍
K TOP
K TOP 2023.05.11 07:57
영상 앞에서 소개했던, 마지막 제출하기 버튼을 누르면 메일로 전환해서 세팅된 교육 부분이 없는 것 같은데, 어디서 보면 되는지 알려주시면 감사하겠습니다.
오빠두엑셀
오빠두엑셀 작성자 2023.05.15 17:09
안녕하세요.
VBA로 메일을 보내는 방법은 아래 VBA 강의에서 자세히 정리했으니 확인해보시길 바랍니다.
https://www.oppadu.com/%ec%97%91%ec%85%80-%eb%a9%94%ec%9d%bc-%eb%b3%b4%eb%82%b4%ea%b8%b0-%ec%95%84%ec%9b%83%eb%a3%a9-%eb%a7%a4%ed%81%ac%eb%a1%9c/
VBA 기초에 대한 전반적인 내용은 아래 위캔두 멤버쉽 마스터 클래스를 확인해보세요.
https://www.oppadu.com/%ec%97%91%ec%85%80-live-101%ea%b0%95/
감사합니다.
꿩뫼
꿩뫼 2023.06.05 16:06
고맙습니다
강민준🤗
강민준🤗 2024.08.09 06:34
좋은 강의 감사합니다🙇‍♂️