교재에는 '만약 토익, 컴퓨터, 전공2 점수 중 하나라도 100보다 크면 메세지박스 출력 아니면 Cells로 입력'으로 풀이되어 있습니다.
저는 '만약 토익, 컴퓨터, 전공2 점수가 모두 100보다 작거나 같으면 Cells로 입력 아니면 메세지박스 출력'으로 풀었는데요,
그 결과 디자인 보기를 해제하고 폼의 입력버튼을 눌렀을 때 메세지박스가 출력되지 않고 데이터도 제한없이 모두 입력됩니다.
왜 두 방식의 결과가 다르게 나오는지(제가 쓴 코드가 잘못되었는지) 궁금합니다.
VBA 코드 이미지파일 첨부합니다.
감사합니다.
Private Sub cmd입력_Click()
If Val(txt토익) <= 100 Or Val(txt컴퓨터) <= 100 Or Val(txt전공2) <= 100 Then
입력행 = [b2].Row + [b2].CurrentRegion.Rows.Count
Cells(입력행, 2) = txt이름
Cells(입력행, 3) = Format(txt학번, ">&&&&&&")
Cells(입력행, 4) = cmb학과명
Cells(입력행, 5) = Val(txt토익)
Cells(입력행, 6) = Val(txt컴퓨터)
Cells(입력행, 7) = Val(txt전공2)
cmb학과명.Locked = True
Else
MsgBox "점수는 0~100 사이의 값으로 입력하세요."
End If
End Sub
위 코드로도 정상 실행 됩니다.
실기특성상 질문 주신 내용만으로는 정확한 이유를 알기 어렵습니다.
작성하신 파일을 첨부하여 다시 질문 주시면 확인 후 답변 드리겠습니다.
좋은 하루 되세요.
-
관리자2020-12-15 09:17:20
Private Sub cmd입력_Click()
If Val(txt토익) <= 100 Or Val(txt컴퓨터) <= 100 Or Val(txt전공2) <= 100 Then
입력행 = [b2].Row + [b2].CurrentRegion.Rows.Count
Cells(입력행, 2) = txt이름
Cells(입력행, 3) = Format(txt학번, ">&&&&&&")
Cells(입력행, 4) = cmb학과명
Cells(입력행, 5) = Val(txt토익)
Cells(입력행, 6) = Val(txt컴퓨터)
Cells(입력행, 7) = Val(txt전공2)
cmb학과명.Locked = True
Else
MsgBox "점수는 0~100 사이의 값으로 입력하세요."
End If
End Sub
위 코드로도 정상 실행 됩니다.
실기특성상 질문 주신 내용만으로는 정확한 이유를 알기 어렵습니다.
작성하신 파일을 첨부하여 다시 질문 주시면 확인 후 답변 드리겠습니다.
좋은 하루 되세요.