255p 오른쪽 하단에 있는 코드 중 5번 부분이 궁금합니다.
① txt국어 = 60 , txt영어 = 45 , txt수학 = 45를 입력한 뒤 등록버튼을 눌러보면
1번 경우
Cells(입력행, 6) = Format((Val(txt국어) + Val(txt영어) + Val(txt수학)) / 3, "0.00")
평균 = 50
2번 경우
Cells(입력행, 6) = Format((Val(txt국어) + txt영어.Value + txt수학.Value) / 3, "0.00")
평균 = 50
3번 경우
Cells(입력행, 6) = Format((txt국어.Value + txt영어.Value + txt수학.Value) / 3, "0.00")
평균 = 201515
로 입력이 됩니다. 3번의 경우 txt국어.Value + txt영어.Value + txt수학.Value 이 부분이 텍스트로 인식이 되는 것 같은데
그렇다면 2번은 왜 값이 1번과 같이 제대로 나오는지 모르겠습니다.
② Cells(3, 3) = txt국어.Value
Cells(3, 4) = txt영어
마찬가지로 이렇게 입력을 한 후에 C3와 C4에 입력된 값을 ISTEXT, ISNUMBER 로 형식을 조사해보면
Cells(3, 3) = txt국어.Value 경우에는 (숫자로 인식)
Cells(3, 4) = txt영어 경우에는 (텍스트로 인식)
합니다.
그래서 저는 txt국어.Value를 VBA에서 숫자로 인식한다고 생각했는데 제가 잘못생각한건가요?
val은 문자로 받은 데이터을 숫자로 나타낼때 쓰이는 것입니다.
하지만 수량이나 단가는 대부분 숫자로 입력을 받습니다. 문자로 입력이 된다 하더라도 숫자의 형식을 가지고 있기 때문에 계산이 가능 합니다.
만약 val을 쓰지 않고도 계산이 가능 하다면 val을 사용 하지 않으 셔도 됩니다.
물론 사용 하셔도 되구요.
지시사항에 val를 꼭 사용 하라고 되어 있지 않고, val을 사용 하지 않아도 계산이 가능 하다면 val를 사용 하시지 않으셔도 됩니다.
value 는 값을 뜻하는 것인데 이것이 있든 없든 정확한 결과가 나온다면 상관 없습니다.
실제 시험에서 지시사항에 별다른 설명이 없었다면 둘 중 어느것을 사용하시든 정확한 결과가 나오면 정답으로 인정 될 것 입니다.
value 를 사용한다고 숫자로 인식 하는 것은 아닙니다.
좋은 하루 되세요.
-
관리자2020-12-24 12:16:30
val은 문자로 받은 데이터을 숫자로 나타낼때 쓰이는 것입니다.
하지만 수량이나 단가는 대부분 숫자로 입력을 받습니다. 문자로 입력이 된다 하더라도 숫자의 형식을 가지고 있기 때문에 계산이 가능 합니다.
만약 val을 쓰지 않고도 계산이 가능 하다면 val을 사용 하지 않으 셔도 됩니다.
물론 사용 하셔도 되구요.
지시사항에 val를 꼭 사용 하라고 되어 있지 않고, val을 사용 하지 않아도 계산이 가능 하다면 val를 사용 하시지 않으셔도 됩니다.value 는 값을 뜻하는 것인데 이것이 있든 없든 정확한 결과가 나온다면 상관 없습니다.
실제 시험에서 지시사항에 별다른 설명이 없었다면 둘 중 어느것을 사용하시든 정확한 결과가 나오면 정답으로 인정 될 것 입니다.
value 를 사용한다고 숫자로 인식 하는 것은 아닙니다.
좋은 하루 되세요.