반응형
![](https://blog.kakaocdn.net/dn/FWDyg/btsE8AGPTuR/3g4pT67JQLVfsBSbaEDDg1/img.png)
===
이벤트 생성, 폼 초기화 작업
![](https://blog.kakaocdn.net/dn/bSydWQ/btsE2B1lpxM/0fT3ezJLd20eeCgvYborn1/img.png)
먼저 Alt+F11 눌러 VB창 열고
해당 시트의 "코드 보기"를 실행
![](https://blog.kakaocdn.net/dn/boHjvD/btsE2DEQt2p/Xe4NMFBeDZZHkMWLVJPXvk/img.png)
다음과 같이 버튼과 이벤트를 선택해서 Sub프로시저 생성
![](https://blog.kakaocdn.net/dn/cU7yqQ/btsE6RhZ8D5/m4mZUM5TVX5kxjHToUBkKk/img.png)
그리고 폼을 띄울 수 있게 Show메소드 쓴다.
![](https://blog.kakaocdn.net/dn/Nn7Yg/btsE6DK4zWf/W8zrUW1HLyknDSg77TJkJk/img.png)
그리고 초기화 하기 위해
성적등록화면 선택 후 "코드 보기" 실행
![](https://blog.kakaocdn.net/dn/NLMeO/btsE6Ddfdzw/GAge36vLCh0X1E28GhUtb0/img.png)
그리고 UserForm개체 선택 후 Initialize 이벤트 선택
![](https://blog.kakaocdn.net/dn/Ad3Ok/btsE0HU27uQ/nsUyqsKk8dlHOIYD9YUHd1/img.png)
그리고 RowSource를 이용해 selectbox에 들어갈 값을 설정
셀렉트박스.RowSource = ["시작범위:끝범위"]
===
CurrentRegion
CurrentRegion.Rows
CurrentRegion.Rows.Count
IF 및 계산 응용
![](https://blog.kakaocdn.net/dn/bWwrRr/btsE2Drjhun/wK42sHRA5HOrLefDy228I1/img.png)
먼저 자동기입이 되게하려면
표가 시작하는 곳의 위치와 공백 개수를 파악
시작 : B5
공백 개수 : 4
![](https://blog.kakaocdn.net/dn/IcGho/btsE6SBcAPw/cbXUO9bMxKBkcxnkKw7a0K/img.png)
개체와 이벤트 선택해서 Sub프로시저 만들고
![](https://blog.kakaocdn.net/dn/bXAwKw/btsEZcnTNVy/dTWngYM5x0XqENBdJQpXt0/img.png)
CurrentRegion을 이용해서 입력할 행을 지정한다.
입력할 행 = [표시작 셀].CurrentRegion.Rows.Count + 공백 개수
Private Sub cmd등록_Click()
i = [B5].CurrentRegion.Rows.Count + 4
Cells(i, 2) = cmb수강자.Column(0)
Cells(i, 3) = cmb수강자.Column(1)
Cells(i, 4) = txt결석.Value
Cells(i, 5) = txt지각.Value
Cells(i, 7) = txt과제.Value
Cells(i, 8) = txt평가.Value
choolsuk = 20 - ((txt결석.Value * 2) + (txt지각.Value * 1))
Cells(i, 6) = choolsuk
bigo = ""
If choolsuk < 12 Then
bigo = "출석미달"
End If
Cells(i, 9) = bigo
End Sub
여기서 중요한 점은
변수 지정을 해서 재사용해주는 것이다.
![](https://blog.kakaocdn.net/dn/mewbz/btsE7qdrNF9/XO75vkjORFGRfRiN5G86r0/img.png)
위 처럼 변수를 재사용하면
계산식을 중복해서 적지않아도 된다.
가독성도 좋아지니 이 방법을 추천한다.
===
![](https://blog.kakaocdn.net/dn/ck5z68/btsE1DLO6uy/Q9UGkrbqvZA02cjmY4kRM0/img.png)
![](https://blog.kakaocdn.net/dn/yOSHi/btsE0iBczak/Hzj5W2t0HFuSzC0zXned40/img.png)
현재시간 함수는 Time
그리고 세 번째 인자가 Title을 뜻한다는 걸 염두하고 만든다.
Private Sub cmd종료_Click()
MsgBox Time & " 평가를 종료합니다.", , "등록종료"
Unload Me
End Sub
<결과 화면>
![](https://blog.kakaocdn.net/dn/bc5NI8/btsE0IzBd1N/yvOCMdVxLTfPWGgQKNiA91/img.gif)
반응형
'컴퓨터활용(컴활) 공부' 카테고리의 다른 글
[데이터베이스] 컴활 1급 실기 문제 풀기 (정렬, 필드생성) (0) | 2024.02.23 |
---|---|
[스프레드시트] 컴활 1급 실기 문제 풀어보기 (AND, NOT, 고급 필터) (0) | 2024.02.22 |
[데이터베이스] 컴활 실기 1급 문제 풀기 (DateAdd, Select Into) (0) | 2024.02.19 |
[스프레드시트] 컴활 문제 1급 실기 풀자 (매크로, 서식적용, 서식해제) (0) | 2024.02.18 |
[데이터베이스] 컴활 1급 실기 문제 풀어보자 (쿼리, 요약, Like) (0) | 2024.02.17 |