별의 공부 블로그 🧑🏻‍💻
728x90
728x170

사용자 정의 함수 (Visual Basic Editor) (액셀/스프레드시트)

개요

 

 

  • 사용자 정의 함수를 작성할 때 사용해야 하는 에디터
  • 실행 방법
    • Excel의 [개발도구] 메뉴 -> [코드] 탭 -> [Visual Basic]
      • [개발도구] 메뉴가 없을 경우, [파일] 메뉴 -> [옵션] -> 'Excel 옵션' 대화상자의 [리본 사용자 지정] 탭 클릭 -> [기본] 탭의 <개발도구> 선택
    • [Alt] + [F11]
  • 구성
    • 프로젝트 탐색기
      • 현재 작업중인 통합 문서와 워크시트, 모듈의 이름을 표시함.
    • 모듈 시트
      • 매크로나 사용자 정의 함수가 기록되는 부분
      • 하나의 모듈 시트에 여러 개의 사용자 정의 함수를 기록할 수 있음.
    • 속성 창
      • 선택한 요소의 속성(이름, 화면 표시 상태 등)을 표시, 변경함.
  • 사용자 정의 함수 생성
    • [삽입] 메뉴 -> [모듈]을 클릭해서 생성된 창에 문제의 조건에 맞는 함수를 정의하면 됨.

 

꼭 외워야 할 조건문

① 조건 없이 명령문만 있는 경우

문제 유형) 총매출을 계산하는 사용자 정의 함수 'fn총매출'을 작성하여 계산을 수행하시오.

- 'fn총매출'은 단가, 할인율, 판매량을 인수로 받아 총매출을 계산하여 되돌려줌.

- 'fn총매출'은 '단가 x (1 - 할인율) x 판매량'으로 계산

 

Public Function fn총매출(단가, 할인율, 판매량)
    fn총매출 = 단가 * (1-할인율) * 판매량
End Function

 

② 조건이 참과 거짓일 경우 각각 실행할 명령이 있는 경우

문제 유형) 작업평가를 계산하는 사용자 정의 함수 'ks작업평가'를 작성하여 계산을 수행하시오.

- 'ks작업평가'는 MD와 MH를 인수로 받아 작업평가를 계산하여 되돌려줌.

- 작업평가는 'MH/(MDx8)'이 0.8 이상이면 '원만'으로, 그 이외에는 '속도조절'로 계산

 

IF 문
Public Function ks작업평가(MD, MH)
	If MH(MD * 8) >= 0.8 Then
    	ks작업평가="원만"
    Else
    	ks작업평가="속도조절"
    End If
End Function

 

SELECT 문
Public Function ks작업평가(MD, MH)
    Select Case MH / (MD * 8)
        Case Is >= 0.8
        	ks작업평가="원만"
        Case Else
        	ks작업평가="속도조절"
    End Select
End Function

 

③ 여러 조건에 대해 각각 실행할 명령문이 있는 경우

문제 유형) '계산작업-2' 시트에서 [표3]의 [C29:C36] 영역에 사용량과 요금표에 따른 에너지 사용요금을 계산하는 사용자 정의 함수 'fn에너지요금'을 작성하여 계산을 수행하시오.

- 'fn에너지요금'은 사용량을 인수로 받아 사용요금을 계산하여 되돌려줌.

- 사용요금 = 사용량 x 단위당 요금

요금표
사용량 단위당 요금
0~100 50
101~200 100
201~300 150
301~400 200
401 이상 300

 

IF 문
Public Function fn에너지요금(사용량)
    If 사용량 >= 401 Then
    	fn에너지요금 = 사용량 * 300
    ElseIf 사용량 >= 301 Then
    	fn에너지요금 = 사용량 * 200
    ElseIf 사용량 >= 201 Then
    	fn에너지요금 = 사용량 * 150
    ElseIf 사용량 >= 101 Then
    	fn에너지요금 = 사용량 * 100
    Else
    	fn에너지요금 = 사용량 * 50
    End If
End Function

 

SELECT 문
Public Function fn에너지요금(사용량)
    Select Case 사용량
        Case Is >= 401
        	fn에너지요금 = 사용량 * 300
        Case Is >= 301
        	fn에너지요금 = 사용량 * 200
        Case Is >= 201
        	fn에너지요금 = 사용량 * 150
        Case Is >= 101
        	fn에너지요금 = 사용량 * 100
        Case Else
        	fn에너지요금 = 사용량 * 50
    End Select
End Function

 

 

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖