1. 최신기출문제 2013년 1회 엑셀, 문제4-2에서 “소비자명을 입력하지 않았거나 판매수량이 0인 경우에는 그림과 같은 메시지 상자를 표시하시오.”에 해당되는 프로그래밍을 해설의 정답(p.52)은 아래와 같습니다.
(의문스러운 점에는 빨간색, 제가 쓴 답에는 파란색으로 표시했습니다.)
If txt소비자명=“” or val(txt판매수량)=0 then txt판매수량=0
msgbox “소비자명이나 판매수량을 입력하세요.”
Else
입력행 = [b2].Row + [b2].CurrentRegion.Rows.Count
Cells(입력행, 2) = Date
Cells(입력행, 3) = txt소비자명
Cells(입력행, 4) = cmb품목
Cells(입력행, 5) = cmb품목.List(cmb품목.listindex, 1)
Cells(입력행, 6) = txt판매수량
Cells(입력행, 6) = Val(txt판매수량)
Cells(입력행, 7) = txt판매수량 * Cells(입력행, 5)
Cells(입력행, 7) = Val(txt판매수량) * Cells(입력행, 5)
End If
① txt판매수량에 굳이 val()을 붙여야 하나요?
② val()을 붙이지 않은 이유는 엑셀에서 ‘판매수량’ 필드의 속성이 ‘텍스트 형식으로 저장된 숫자’이기 때문인가요?
③ ‘판매금액’ 필드의 속성은 숫자인데, txt판매수량은 텍스트 형식이기에 val()를 붙여줘야 하지 않나요? 아니면 *관계라면 하나만 숫자 형식(cells(입력행,5))이더라도 결과는 숫자로 나오는 것인가요? (예; 텍스트형식*숫자형식=숫자형식)
val은 문자로 받은 데이터을 숫자로 나타낼때 쓰이는 것입니다.
하지만 수량이나 단가는 대부분 숫자로 입력을 받습니다. 문자로 입력이 된다 하더라도 숫자의 형식을 가지고 있기 때문에 계산이 가능 합니다.
만약 val을 쓰지 않고도 계산이 가능 하다면 val을 사용 하지 않으 셔도 됩니다.
물론 사용 하셔도 되구요.
지시사항에 val를 꼭 사용 하라고 되어 있지 않고, val을 사용 하지 않아도 계산이 가능 하다면 val를 사용 하시지 않으셔도 됩니다.
좋은 하루 되세요.
-
*2017-05-16 11:37:06
val은 문자로 받은 데이터을 숫자로 나타낼때 쓰이는 것입니다.
하지만 수량이나 단가는 대부분 숫자로 입력을 받습니다. 문자로 입력이 된다 하더라도 숫자의 형식을 가지고 있기 때문에 계산이 가능 합니다.
만약 val을 쓰지 않고도 계산이 가능 하다면 val을 사용 하지 않으 셔도 됩니다.
물론 사용 하셔도 되구요.
지시사항에 val를 꼭 사용 하라고 되어 있지 않고, val을 사용 하지 않아도 계산이 가능 하다면 val를 사용 하시지 않으셔도 됩니다.좋은 하루 되세요.