책 내용 질문하기
엑셀 프로시저 작성에서, 컨트롤에 입력된 값을 지우는 방법
도서
[2015] 컴퓨터활용능력 1급 실기
페이지
10
조회수
65
작성일
2016-10-14
작성자
탈퇴*원
첨부파일

엑셀 프로시저 작성에서, 컨트롤에 입력된 값을 지우는 방법

상시 시험에, 새로운 값이 입력될 수 있도록 텍스트 상자목록 상자에 입력된 데이터를 삭제(클리어)

하라는 문제가 나왔습니다.

아래 6가지 방법이 맞는 내용인지 확인을 좀 해주세요

1) 텍스트 상자에 입력된 내용 지우는 방법

txt이름 = ""

2) 콤보 상자에 입력된 내용 지우는 방법

cmb결재행태 = ""

3) 목록 상자에 입력된 내용 지우는 방법

lst분야 = ""

4) 목록 상자에 입력된 내용 지우는 방법 2

lst분야 = Null

5) 텍스트 상자, 콤보 상자 그리고 목록 상자 모두에 Null을 입력하는 방법도 가능하다

(텍스트, 콤보, 목록 상자)컨트롤이름 = Null

6) 목록 상자에서 입력된 데이터 지우기는 반드시 Null을 입력해야한다.

lst분야 = Null (※ lst분야 = "" 는 사용불가이다)

감사합니다

<질문 끝>

-------------------------------------

아래는 참고로 컨트롤에 입력된 데이터 지우기가 아니고,

목록 상자를 선택하지 않은 경우의 프로시저 작성법에 대한 내용입니다.

--- IsNull(lst분야.Value) 대신에 lst분야 = "" 로 대치하면 자체 에러는 아니지만 다른 부분(노랑 음영)에

에러가 나는 경우 -----

2014년 3회 엑셀

문제 4쪽, 풀이 10쪽

문제4 분석작업

2. 기타작업-2 시트, 폼울 통하여 데이터 시트에 자료 입력 프로시저

lst분야를 선택하지 않은 경우, "분야를 선택하세요."를 메세지 박스로 나타내기!

정답(p. 10)

Private Sub cmd등록_Click()
입력행 = [a5].Row + [a5].CurrentRegion.Rows.Count
참조행 = lst분야.ListIndex

If IsNull(lst분야.Value) Then
MsgBox "분야를 선택하세요."

lst분야 = "" 코딩 때문에 에러가 남!

노랑색 부분 에러를 포함하여 설명해주세요!

답변
2016-10-20 09:36:17

안녕하세요.

새로운 값이 입력되도록 기존 값을 지우는 것이라면 txt이름 = "" 와 lst분야 = ""로 하시면 됩니다.

해당 값이 선택되지 않았는지를 판단하는 문제의 경우 lst분야 = ""로 하면 정상적으로 인식되지 않는 경우가 있는데, 정확히 왜그런지는 모르겠는데요. 이럴 경우 교재에서처럼 IsNull(lst분야.Value)로 작성하시면 됩니다.

즐거운 하루 되세요.

  • *
    2016-10-20 09:36:17

    안녕하세요.

    새로운 값이 입력되도록 기존 값을 지우는 것이라면 txt이름 = "" 와 lst분야 = ""로 하시면 됩니다.

    해당 값이 선택되지 않았는지를 판단하는 문제의 경우 lst분야 = ""로 하면 정상적으로 인식되지 않는 경우가 있는데, 정확히 왜그런지는 모르겠는데요. 이럴 경우 교재에서처럼 IsNull(lst분야.Value)로 작성하시면 됩니다.

    즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.