컴퓨터활용(컴활) 공부

[스프레드시트] 컴활 1급 실기 문제 풀어보기 (변수 재사용, CurrentRegion)

미스털이 사용자 2024. 2. 20. 12:47
반응형

 

(문제 출처 : https://blog.naver.com/hellstudy/223302615932 )

 

​​​​​​​​​​​​​​액셀 컴활 실기문제를 계속해서 풀어보자.

 

 

===

 

이벤트 생성, 폼 초기화 작업

 

 

먼저 Alt+F11 눌러 VB창 열고

해당 시트의 "코드 보기"를 실행

 

 

다음과 같이 버튼과 이벤트를 선택해서 Sub프로시저 생성

 

그리고 폼을 띄울 수 있게 Show메소드 쓴다.

 

그리고 초기화 하기 위해

성적등록화면 선택 후 "코드 보기" 실행

 

그리고 UserForm개체 선택 후 Initialize 이벤트 선택

 

그리고 RowSource를 이용해 selectbox에 들어갈 값을 설정

셀렉트박스.RowSource = ["시작범위:끝범위"]

 

 

 

===

 

CurrentRegion

CurrentRegion.Rows

CurrentRegion.Rows.Count

IF 및 계산 응용

 

 

먼저 자동기입이 되게하려면

표가 시작하는 곳의 위치와 공백 개수를 파악

시작 : B5

공백 개수 : 4

 

개체와 이벤트 선택해서 Sub프로시저 만들고

 

 

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
 

 

여기서 중요한 점은

변수 지정을 해서 재사용해주는 것이다.

위 처럼 변수를 재사용하면

계산식을 중복해서 적지않아도 된다.

가독성도 좋아지니 이 방법을 추천한다.

 

 

===

 

 

 

 

현재시간 함수는 Time

그리고 세 번째 인자가 Title을 뜻한다는 걸 염두하고 만든다.

Private Sub cmd종료_Click()
    MsgBox Time & " 평가를 종료합니다.", , "등록종료"
    Unload Me
End Sub
 
 

 

<결과 화면>

 

 

반응형