질문의 요지에는 파란색으로 표시하였습니다.
<117페이지 '섹션08문제.xlsm'파일의 기출01시트 2번 사용자 정의 함수 질문드립니다.>
답지에는
Public Function F단가(도서코드,정가)
If Len(도서코드) = 7 Then
F단가 = Round(정가 / Mid(도서코드, 3, 3), 0)
Else
F단가 = Round(정가 / Mid(도서코드, 3, 2), 0)
End if
End function
이라고 나와있는데
Public Function F단가(도서코드, 정가)
F단가 = Round(정가 / Mid(도서코드, 3, Len(도서코드) - 4), 0)
End Function
라고 입력해도 되나요?그리고 select문으로 이 함수를 표현할 수 있다면 어떻게 작성해야 할까요?
Public Function F단가(도서코드, 정가)
Select Case Len(도서코드)
Case Is = 7
F단가 = Round(정가 / Mid(도서코드, 3, 3), 0)
Case Else
F단가 = Round(정가 / Mid(도서코드, 3, 2), 0)
End Select
End Function
을 입력했는데 잘 실행되던데 이렇게 하는게 맞나요?
++또, 사용자 정의 함수를 만들기위해 비주얼베이직에디터 모듈에서 코드를 입력할 때, 같은 입력 사항임에도 불구하고 엔터를 치거나 탭을 누르지 않으면 컴파일 에러가 뜨곤 했습니다.
가령
public Function ks보너스지급율(월평균임금,전년월평균임금)
if (월평균임금-전년월평균임금)/월평균임금>=0.05 Then ks보너스지급율 = 0.05
else ks보너스지급율 = 0.1
end if
end function
을 입력하면 if 없는 else 구문이라고 뜨는 경우와,
Public Function ks보너스지급율(월평균임금,전년월평균임금)
If(월평균임금-전년월평균임금)/월평균임금>=0.05 then ks보너스지급율 = 0.05 else ks보너스지급율=0.1
end if
end function
을 입력하면 컴파일 에러 라고 뜨는 경우 등이 있었습니다.
이부분에 대해서는 토막 강의가 없어 인터넷에서 찾아본 결과 엔터를 친 후 탭을 이용하여 입력하니 에러 없이 잘 실행되었으나, 사용자 정의 함수를 만들 때 줄을 어떻게 띄어야 하는지, 탭을 어디에서 눌러야 하는지, 꼭 필요한 만큼이 아닌데 줄을 더 띄우거나 공백을 더 띄우거나 탭을 더 누르거나 덜 누르면 안되는지 궁금합니다.
감사합니다!!!
안녕하세요.
1.
적어주신 대로 입력하셔도 정확한 결과값이 나옵니다.
시험에서는 문제지의 지시사항에 부합하고 결과가 정확하면 정답으로 인정됩니다.
함수나 프로시저 코드의 경우 정답이 다양하게 나올 수 있습니다.
2.
- 사용자 정의 함수를 만들 때,
첫번 째 줄은 Public Function 함수명(인수들)로 시작됩니다. 끝날 때는 End Function으로 끝납니다.
기본은 시작과 끝이 있다는 것이구요. (IF~End IF, Select Case~End Select 등)
그 안에 들어가는 명령문들은 연습을 통해 익혀 주셔야 합니다.
IF 조건 Then
처리
else if 조건 then
처리
else
처리
End if
- 탭은 안 하셔도 무방합니다.
다만 코드를 읽을 때 보기 편하게 하기 위해 약속 처럼 안쪽(하위 코드)으로 갈 수록 한 번씩 더 눌러줍니다.
시작과 끝은 같은 위치에서 시작됩니다. (IF와 End IF, Select Case와 End Select)
IF 문 안에 포함된 내용이라면 한 번 더 탭을 눌러 안쪽에 써주시면 됩니다.
Public Function 함수명
IF ....Then....
End IF
Select Case
Case Is
End Select
End Function
- 꼭 필요한 만큼이 아닌데 줄을 더 띄우거나 공백을 더 띄우거나 탭을 더 누르거나 덜 누르는 것은 코드 작성과 상관없습니다.
하지만, 줄 바꿈하는 것은 유의해 주셔야 합니다. IF ....Then에서 Then을 아랫줄로 내린다거나 하면 오류가 뜰 수 있습니다.
명령문들은 구조가 정의되어 있으므로 규칙에 따라 주셔야 합니다. 이 부분은 연습을 통해 익히셔야 합니다.
오늘도 좋은 하루 보내세요.
오늘도 좋은 하루 보내세요.
-
*2018-08-09 21:59:04
안녕하세요.
1.적어주신 대로 입력하셔도 정확한 결과값이 나옵니다.
시험에서는 문제지의 지시사항에 부합하고 결과가 정확하면 정답으로 인정됩니다.
함수나 프로시저 코드의 경우 정답이 다양하게 나올 수 있습니다.
2.
- 사용자 정의 함수를 만들 때,
첫번 째 줄은 Public Function 함수명(인수들)로 시작됩니다. 끝날 때는 End Function으로 끝납니다.
기본은 시작과 끝이 있다는 것이구요. (IF~End IF, Select Case~End Select 등)
그 안에 들어가는 명령문들은 연습을 통해 익혀 주셔야 합니다.IF 조건 Then
처리
else if 조건 then
처리
else
처리
End if- 탭은 안 하셔도 무방합니다.
다만 코드를 읽을 때 보기 편하게 하기 위해 약속 처럼 안쪽(하위 코드)으로 갈 수록 한 번씩 더 눌러줍니다.
시작과 끝은 같은 위치에서 시작됩니다. (IF와 End IF, Select Case와 End Select)
IF 문 안에 포함된 내용이라면 한 번 더 탭을 눌러 안쪽에 써주시면 됩니다.Public Function 함수명
IF ....Then....
End IFSelect Case
Case Is
End Select
End Function
- 꼭 필요한 만큼이 아닌데 줄을 더 띄우거나 공백을 더 띄우거나 탭을 더 누르거나 덜 누르는 것은 코드 작성과 상관없습니다.하지만, 줄 바꿈하는 것은 유의해 주셔야 합니다. IF ....Then에서 Then을 아랫줄로 내린다거나 하면 오류가 뜰 수 있습니다.
명령문들은 구조가 정의되어 있으므로 규칙에 따라 주셔야 합니다. 이 부분은 연습을 통해 익히셔야 합니다.
오늘도 좋은 하루 보내세요.
오늘도 좋은 하루 보내세요.