![](https://blog.kakaocdn.net/dn/boGoRG/btsBfxJf68I/8M2ew05pJy8pGTKzmehRIK/img.png)
===
핵심을 찾아보자.
1) <참가신청> 폼 띄우는 것
2) <참가신청> 폼이 초기화할 때, opt회원 선택되게 하고, cmb대상에 영역 설정하는 것
![](https://blog.kakaocdn.net/dn/bAUjIr/btsBh6xrhXR/p9EbPFsJ9WSa5T1ZM4pVPk/img.png)
[개발도구]->[컨트롤 그룹]->[디자인 모드] 선택해서 활성화 시키고
참가신청 버튼을 더블클릭하면 VBA 창이 띄워질 텐데
![](https://blog.kakaocdn.net/dn/4ItmQ/btsBgc5Vesh/TpVkq7b12XRHO7GgkmdDqk/img.png)
아래와 같이 <참가신청>폼이 나타나게끔 show메소드 호출
Public Sub cmd신청_Click()
참가신청.Show
End Sub
참가신청 폼의 코드를 보기 위해서 다음과 같이 실행해주면
![](https://blog.kakaocdn.net/dn/sRnaZ/btsBfyVH6rz/zY7PjeSP6glK48AUERgbf1/img.png)
코드 창이 나타나는데
어떤 이벤트를 구현해야할지 설정해야
폼이 초기화될 때에 나타날 것들을 설정하려면
UserForm (폼 창)이
Initialize (초기화)되는 이벤트 여야 한다.
위의 이벤트를 선택해주면
이벤트에 해당하는 Sub프로시저가 생성되는데
![](https://blog.kakaocdn.net/dn/cF3yRg/btsBkmr49yE/PJsB9XAVDIMovUKMC2U3W0/img.png)
사진 설명을 입력하세요.
다음과 같이 RowSource메소드를 사용해서 cmb대상의 목록 범위지정을 해주고
opt회원 체크박스가 선택되어지게끔 True로 설정
Private Sub UserForm_Initialize()
cmb대상.RowSource = "G4:G8"
opt회원.Value = True
End Sub
===
폼의 데이터가 표에 등록되어야 한다.
체크박스가 어떻게 선택됐는지 따라 처리를 달리해야 한다.
![](https://blog.kakaocdn.net/dn/PYmUs/btsBilHTEwD/X9x7D0v8VpbKu8OqBD88R1/img.png)
우선 cmb등록이 클릭 해야 구현되는 거니까
cmb등록의 click이벤트 를 선택하고 생성되는 거 확인
![](https://blog.kakaocdn.net/dn/MC04P/btsBjPgWPq2/Y5m99qAYPDJO1Ri2anmuVK/img.png)
먼저 CurrentRegion.Rows.Count를 이용해서 입력할 행 계산해야한다.
i = [테이블 최 좌측상단 셀].CurrentRegion.Rows.Count + 공백
i = [A3].CurrentRegion.Rows.Count + 2
![](https://blog.kakaocdn.net/dn/HDIHB/btsBitFJxW5/132qqJQkKKjxbTgluctkBK/img.png)
그리고 체크박스를 IF문을 써서 나타내면 다음과 같이 코드를 작성할 수 있다.
Private Sub cmd등록_Click()
'입력할 행이 몇번째인지 계산
i = [A3].CurrentRegion.Rows.Count + 2
'첫번째 행
Cells(i, 1) = txt신청자.Value
'두번째 행
If opt회원.Value = True Then
Cells(i, 2) = "회원"
ElseIf opt비회원.Value = True Then
Cells(i, 2) = "비회원"
End If
'세번째 행
Cells(i, 3) = cmb대상.Value
'네번째 행
Cells(i, 4) = txt이벤트날짜.Value
'다섯번째 행
Cells(i, 5) = txt신청인원.Value
End Sub
===
cmd종료 눌렀을(클릭)때
1) 메시지 박스 띄우기 (타이틀 : 종료, 내용 : 오늘 날짜)
2) 폼 창 종료 (없애기)
![](https://blog.kakaocdn.net/dn/oe6J2/btsBh56pI3k/mE4iHdqkDD2r0C4YU8kbEk/img.png)
우선 해당 이벤트를 만들기 위해
cmd종료, Click을 선택하고 생성확인
![](https://blog.kakaocdn.net/dn/7tQXK/btsBiuSesdb/ZKWIS77RjXQ9I0XY5iGlVk/img.png)
메시지 창을 띄우는 명령어는 MsgBox인데
총 5개의 인자가 있다.
여기서 우리가 입력할 인자는 2개(내용=1번째 인자 Prompt, 타이틀= 3번째 인자 title)이다.
![](https://blog.kakaocdn.net/dn/YgFIE/btsBhYF0Z4R/kgHrehZOUks5g67Gh2Pds1/img.png)
위 1, 3번째 인자에 들어갈 내용을 넣고
해당 창을 종료하는 스크립트를 만들면 다음과 같다.
Private Sub cmd종료_Click()
MsgBox Date, , "종료"
Unload Me
End Sub
<결과 화면+테스트해보자>
![](https://blog.kakaocdn.net/dn/b4SoV2/btsBffPgS1Q/82Bd0tyRiKwCCGzTqHeLn0/img.gif)
'컴퓨터활용(컴활) 공부' 카테고리의 다른 글
[스프레드시트] 컴활 엑셀 실기 문제 풀어보기 (고급필터, 조건부 서식, 페이지나누기) (1) | 2023.12.03 |
---|---|
[데이타베이스] 컴활 1급 실기 풀자 (RecordSource, 와일드검색, Sum) (3) | 2023.12.02 |
[스프레드시트] 컴활 실기 풀자 (차트 설정하기) (1) | 2023.12.01 |
[스프레드시트] 컴활 실기 풀자 (서식적용, 매크로) (1) | 2023.12.01 |
[스프레드시트] 컴활 실기 풀자 (2번 이상의 부분합 실행, 중복된 항목 제거 하기) (0) | 2023.12.01 |