===
핵심을 찾아보자.
1) <참가신청> 폼 띄우는 것
2) <참가신청> 폼이 초기화할 때, opt회원 선택되게 하고, cmb대상에 영역 설정하는 것
[개발도구]->[컨트롤 그룹]->[디자인 모드] 선택해서 활성화 시키고
참가신청 버튼을 더블클릭하면 VBA 창이 띄워질 텐데
아래와 같이 <참가신청>폼이 나타나게끔 show메소드 호출
Public Sub cmd신청_Click()
참가신청.Show
End Sub
참가신청 폼의 코드를 보기 위해서 다음과 같이 실행해주면
코드 창이 나타나는데
어떤 이벤트를 구현해야할지 설정해야
폼이 초기화될 때에 나타날 것들을 설정하려면
UserForm (폼 창)이
Initialize (초기화)되는 이벤트 여야 한다.
위의 이벤트를 선택해주면
이벤트에 해당하는 Sub프로시저가 생성되는데
사진 설명을 입력하세요.
다음과 같이 RowSource메소드를 사용해서 cmb대상의 목록 범위지정을 해주고
opt회원 체크박스가 선택되어지게끔 True로 설정
Private Sub UserForm_Initialize()
cmb대상.RowSource = "G4:G8"
opt회원.Value = True
End Sub
===
폼의 데이터가 표에 등록되어야 한다.
체크박스가 어떻게 선택됐는지 따라 처리를 달리해야 한다.
우선 cmb등록이 클릭 해야 구현되는 거니까
cmb등록의 click이벤트 를 선택하고 생성되는 거 확인
먼저 CurrentRegion.Rows.Count를 이용해서 입력할 행 계산해야한다.
i = [테이블 최 좌측상단 셀].CurrentRegion.Rows.Count + 공백
i = [A3].CurrentRegion.Rows.Count + 2
그리고 체크박스를 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) 폼 창 종료 (없애기)
우선 해당 이벤트를 만들기 위해
cmd종료, Click을 선택하고 생성확인
메시지 창을 띄우는 명령어는 MsgBox인데
총 5개의 인자가 있다.
여기서 우리가 입력할 인자는 2개(내용=1번째 인자 Prompt, 타이틀= 3번째 인자 title)이다.
위 1, 3번째 인자에 들어갈 내용을 넣고
해당 창을 종료하는 스크립트를 만들면 다음과 같다.
Private Sub cmd종료_Click()
MsgBox Date, , "종료"
Unload Me
End Sub
<결과 화면+테스트해보자>
'컴퓨터활용(컴활) 공부' 카테고리의 다른 글
[스프레드시트] 컴활 엑셀 실기 문제 풀어보기 (고급필터, 조건부 서식, 페이지나누기) (1) | 2023.12.03 |
---|---|
[데이타베이스] 컴활 1급 실기 풀자 (RecordSource, 와일드검색, Sum) (3) | 2023.12.02 |
[스프레드시트] 컴활 실기 풀자 (차트 설정하기) (1) | 2023.12.01 |
[스프레드시트] 컴활 실기 풀자 (서식적용, 매크로) (1) | 2023.12.01 |
[스프레드시트] 컴활 실기 풀자 (2번 이상의 부분합 실행, 중복된 항목 제거 하기) (0) | 2023.12.01 |