엑셀 프로시저 작성에서, 컨트롤에 입력된 값을 지우는 방법
상시 시험에, 새로운 값이 입력될 수 있도록 텍스트 상자와 목록 상자에 입력된 데이터를 삭제(클리어)
하라는 문제가 나왔습니다.
아래 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분야 = "" 코딩 때문에 에러가 남!
노랑색 부분 에러를 포함하여 설명해주세요!
안녕하세요.
새로운 값이 입력되도록 기존 값을 지우는 것이라면 txt이름 = "" 와 lst분야 = ""로 하시면 됩니다.
해당 값이 선택되지 않았는지를 판단하는 문제의 경우 lst분야 = ""로 하면 정상적으로 인식되지 않는 경우가 있는데, 정확히 왜그런지는 모르겠는데요. 이럴 경우 교재에서처럼 IsNull(lst분야.Value)로 작성하시면 됩니다.
즐거운 하루 되세요.
-
*2016-10-20 09:36:17
안녕하세요.
새로운 값이 입력되도록 기존 값을 지우는 것이라면 txt이름 = "" 와 lst분야 = ""로 하시면 됩니다.
해당 값이 선택되지 않았는지를 판단하는 문제의 경우 lst분야 = ""로 하면 정상적으로 인식되지 않는 경우가 있는데, 정확히 왜그런지는 모르겠는데요. 이럴 경우 교재에서처럼 IsNull(lst분야.Value)로 작성하시면 됩니다.
즐거운 하루 되세요.