1권 기출따라잡기 문제 4번
엑셀 p.260
If IsNull(lst과목.Value) Then
txtID = "선택안함"
lst과목.ListIndex = 0
Else
a = [a3].Row + [a3].CurrentRegion.Rows.Count
Cells(a, 1) = UCase(txtID)
Cells(a, 2) = txt이름
b = lst과목.ListIndex
Cells(a, 3) = lst과목.List(b, 0)
Cells(a, 4) = lst과목.List(b, 1)
Cells(a, 5) = lst과목.List(b, 2)
Cells(a, 6) = lst과목.List(b, 3) - (lst과목.List(b, 3) * 0.1)
txtID.Value = ""
txt날짜.Value = ""
txt이름.Value = ""
lst과목.Value = ""
End If
->
여기서 end if의 순서를 아래와 같이 바꾸면 오류가 나던데
섹션18문제 1,2,3번과 다르게 값을 빈칸으로 두는 식을 (같은 섹션 문제 1,2,3번의 경우 end if로 if문이 끝난후에 txtID=""빈칸 이런식으로 식이 쓰여지는데
이 문제만 유독 if문이 끝나기전에 아무것도 선택되지 않는 상태의 식을 먼저 써줘야 하는지 이해가 잘 가지 않습니다. 알려주세요!!
end if 전에 써야하는 이유를 설명해주세요 ㅜㅜ
Cells(a, 3) = lst과목.List(b, 0)
Cells(a, 4) = lst과목.List(b, 1)
Cells(a, 5) = lst과목.List(b, 2)
Cells(a, 6) = lst과목.List(b, 3) - (lst과목.List(b, 3) * 0.1)
End If
txtID.Value = ""
txt날짜.Value = ""
txt이름.Value = ""
lst과목.Value = ""
안녕하세요.
lst과목의 항목을 선택하지 않으면 txtID에 "선택안함"을 표시해야 하는데, End if를 'txtID.Value = ""' 앞에 지정하면 lst과목의 항목을 선택하지 않았을 때 txtID에 "선택안함"을 표시했다 바로 txtID.Value = ""을 실행하여 삭제하므로 폼에는 아무런 변화가 없는 것으로 보입니다. lst과목의 항목을 선택하지 않을 때와 선택했을 때를 구분하여 각 항목을 지워야 하므로 End if를 가장 마지막에 입력해야 합니다.
즐거운 하루 되세요.
-
관리자2024-06-26 10:17:42
안녕하세요.
lst과목의 항목을 선택하지 않으면 txtID에 "선택안함"을 표시해야 하는데, End if를 'txtID.Value = ""' 앞에 지정하면 lst과목의 항목을 선택하지 않았을 때 txtID에 "선택안함"을 표시했다 바로 txtID.Value = ""을 실행하여 삭제하므로 폼에는 아무런 변화가 없는 것으로 보입니다. lst과목의 항목을 선택하지 않을 때와 선택했을 때를 구분하여 각 항목을 지워야 하므로 End if를 가장 마지막에 입력해야 합니다.
즐거운 하루 되세요.