728x90
프로시저
버튼을 눌렀을 때 폼 열기
'등록' 단추를 눌렀을 때 '학원등록'이라는 폼을 열게 하기 위해서...
개발도구-디자인모드를 선택 후 단추를 더블클릭하여 VBA열기
폼이름.Show를 사용하여 폼 열어주기
왼쪽에 있는 프로젝트-VBAProject 목록에서 폼 폴더에 있는 '학원등록' 폼을 열어주기
초기화(Initialize)
폼이 초기화 되면 반번호(cmb반번호) 목록에는 [G2:G10] 영역 값이 표시되고, 상(opt상)이 기본 선택 되게하는 프로시저
폼의 빈 구역 더블 클릭 후
UseForm에서 Initilize로 되어 있는 지 확인.
Private Sub userForm_Initialize()
cmb반번호.RowSource = "G2:G10"
opt상.Value = True
End Sub
표에 연속하여 데이터 추가하기
예약(cmd예약) 단추를 클릭하면 폼에 입력된 데이터가 표에 있는 마지막 행 다음에 연속하여 추가되는 프로시저의 경우
->유형에는 상(opt상)을 선택하면 '상', 중(opt중)을 선택하면 '중'을 입력하도록
->반 번호에는 유형이 상이면 반번호 뒤에 "A"를, 중이면 반번호를 그대로 입력하도록
->학원비에는 유형이 '상'이면 학원비를 금액의 1.2배, '중'이면 금액 그대로 입력. 숫자는 천단위 표시.
B5부터 시작하는 이런 ▼표가 있다고 가정 했을 때
이름 | 유형 | 반번호 | 전화번호 | 학원비 |
김누구 | 상 | MHO | 010-1234-5678 | 3,567,896 |
조건으로 H5부터 시작하는 표가 있다고 가정 했을 때
반번호 | 금액 |
MHO | 3,567,896 |
MOP | 2,896,453 |
HOP | 2,568,948 |
Private Sub cmd예약_Click()
입력행 = [b4].CurrentRegion.Row + [b4].CurrentRegion.Rows.Count
/*
b4의 행 번호 반환(b4이므로 4) + B4를 포함하는 영역의 행 개수 반환
->B4부터 시작하는 행 ~ 마지막 행 번호 + 1 계산 해주는 용도
중간에 빈 행 있으면 CurrentRegion 범위 끊길 수 있음 주의
왜! B5부터 표가 시작되는데 B4를 넣느냐?
-->CurrentRegion이 제목행 위부터 해줘야 표의 범위를 정확하게 인식함.
*/
참조행 = cmb반번호.ListIndex + 6
/*
콤보박스 반번호에서 인덱스 번호를 찾아주기
그런데 반번호가 있는 표가 5번 셀(제목 행)부터 시작하기 때문에 반 번호를 찾기 위해서
목록이 있는 6번 행부터 찾아주기 위해서 +6(ListIndex는 0부터 반환)
*/
Cells(입력행, 2) = txt이름.Value // 입력행이 6이라면 (6, 2)셀 즉, B6셀에 입력
If opt상.Value = true then
Cells(입력행, 3) = "상"
Cells(입력행, 4) = cmb반번호.Value & "A"
Cells(입력행, 6) = Format(Cells(참조행, 9) * 1.2, "#,###")
//참조행 표의 '금액'이 H열(8)부터 시작하는 표의 9번째 열(I열)에 있기 때문에 (행, 9)
Else
Cells(입력행, 3) = "중"
Cells(입력행, 4) = cmb반번호.Value
Cells(입력행, 6) = Format(Cells(참조행, 9), "#,###")
End If
Cells(입력행, 5) = txt전화번호.Value
End Sub
종료버튼 누르면 메시지박스 표시 및 폼 종료
Private Sub cmd종료_Click()
MsgBox Date, vbOKOnly, "폼 종료"
Unload Me
End Sub
프로시저 문제는 보통 '예약' 버튼을 눌렀을 때~ 문제가 헷갈리는데 여기만 잘 외운다면 문제 없이 쉽게 맞출 수 있다.
728x90
'컴활 1급' 카테고리의 다른 글
컴활 1급 실기 - 스프레드 시트 - 3 (0) | 2025.03.06 |
---|---|
컴활 1급 실기 - 스프레드 시트 -2 (0) | 2025.03.06 |
컴활 1급 실기 - 스프레드 시트 (0) | 2025.03.06 |
컴활 1급 필기 <1과목 컴퓨터 일반> -6 (0) | 2025.02.19 |
컴활 1급 필기 <1과목 컴퓨터 일반> -5 (0) | 2025.02.18 |