103회
엑셀 VBA 4주 완성 특별 스터디 3강 | 백견이 불여일행! 이제 나도 엑셀 프로그래머!
강의노트
커리큘럼
댓글(4)
강의 자료
- [라이브강의] 엑셀 VBA 4주 완성 특별 스터디 - 3강예제파일완성파일은 영상 하단 댓글 링크를 확인해주세요.
라이브 미션
미션 완성 코드는 영상 댓글의 완성파일을 확인하세요!
- [미션1] MyTextJoin 함수 만들기
- [미션2] 동적범위 DynamicRange 함수 만들기
- [미션3] 필터링 매크로 만들기
보충 자료
① Squence / MyTextJoin 함수 만들기 사전 미션
'----------------------------------------- '미션1) 나만의 Sequence 매크로 만들기 'Column로 시작열을 지정하고, Count로 순번 개수를 지정하면 '시작열의 1행부터 순번을 출력하는 매크로를 작성합니다. '예상풀이시간 : 3분 '----------------------------------------- Sub SequenceNumber() Dim Column As String '시작열 @ 예) "A", "B", "C", ... Dim Count As Long '출력할 순번 개수 @ 예) 5, 10,15 ... Dim i As Long ' For문 변수 '힌트1) Column = "A" '힌트2) Count = 10 '힌트3) For i = 1 To Count '힌트4) Range(Column & i).Value End Sub '----------------------------------------- '미션2) 나만의 Sequence 매크로를 동적으로 만들기 'InitCell로 시작셀을 지정하고, Count로 출력할 순번 개수를 지정하면 'InitCell을 기준으로 한칸씩 내려가며 순번을 출력하는 매크로를 작성합니다. '예상풀이시간 : 5분 '----------------------------------------- Sub DynamicSequence() Dim InitCell As Range '시작셀 @ 예) Range("A1") Dim Count As Long '출력할 순번 개수 @ 예) 5, 10 15 .. Dim i As Long 'For문 변수 '힌트1) Set InitCell = Range("A1") '힌트2) Count = 10 '힌트3) For i = 1 To Count '힌트4) InitCell.Offset(i-1).Value End Sub '----------------------------------------- '미션3) 나만의 TextJoin 함수 만들기 '문자를 병합할 범위를 Rng로 입력하고, 구분자를 지정하면 'Rng의 각 셀을 돌아가며 구분자로 병합하는 함수를 작성합니다. '예상풀이시간 : 7분 '----------------------------------------- Function MyTextJoin(Rng As Range, _ Optional Delimiter As String = ",") '@ 인수 설명 'Rng : 값을 병합할 범위입니다. 'Delimiter : [선택인수] 구분자입니다. 기본값은 쉼표(,)입니다. Dim r As Range 'For Each문 변수 Dim Result As String '결과로 출력할 문자열 '힌트1) For Each r In Rng '힌트2) If r.Value <> "" Then '힌트3) Result = Result & r.Value & Delimiter '힌트4) MyTextJoin = Left(○○○, Len(○○○) - 1) End Function
② 시트 이벤트 매크로 마스터 코드
Application.ScreenUpdating = False Application.EnableEvents = False If Not Intersect(Target, Range("셀주소")) Is Nothing Then '실행할 명령문 End If Application.ScreenUpdating = True Application.EnableEvents = True
시간대별 목차
- ----- 1교시 -----
- 지난주 배운 내용 복습00:00
- 신뢰할 수 없는 파일 / 잠재적인 보안 오류 해결09:27
- 사전미션1. 순번 만들기 매크로10:24
- 사전미션2. 셀을 지정해서 순번 만들기13:13
- 사전미션3. TextJoin 함수 만들기16:52
- 코딩은 "실패"하면서 배워야합니다24:56
- 범위 마지막 셀 찾는 매크로26:36
- DynamicRange 함수 테스트40:07
- ----- 2교시 -----
- 나만의 자동필터 매크로 만들기41:29
- 자동필터 매크로 동작원리46:15
- 잘못된 상황 가정 후, 문제 해결하기47:51
- 시트 이벤트 매크로 사용법 기초49:27
- 원본 데이터 순서가 달라도 필터링 되나요?51:02
- SelectionChange vs. Change 차이점51:19
- 중요! 이벤트 매크로 사용시 주의사항54:40
- 실시간 필터링 매크로 만들기57:29
- 오류가 발생하는 상황 가정해보기59:13
- ----- 3교시 -----
- 범위 초기화 매크로 동작원리59:57
- 범위 초기화 매크로 작성하기1:00:43
- 범위 초기화 매크로 테스트1:05:33
- DynamicRange 코드를 직접 수정하는 방법1:06:05
- 실시간 필터링 매크로 최종 테스트1:06:59
로그인
로그인 후 댓글을 남길 수 있습니다.
4 댓글
강의노트
커리큘럼
강의 자료
- [라이브강의] 엑셀 VBA 4주 완성 특별 스터디 - 3강예제파일완성파일은 영상 하단 댓글 링크를 확인해주세요.
라이브 미션
미션 완성 코드는 영상 댓글의 완성파일을 확인하세요!
- [미션1] MyTextJoin 함수 만들기
- [미션2] 동적범위 DynamicRange 함수 만들기
- [미션3] 필터링 매크로 만들기
보충 자료
① Squence / MyTextJoin 함수 만들기 사전 미션
'----------------------------------------- '미션1) 나만의 Sequence 매크로 만들기 'Column로 시작열을 지정하고, Count로 순번 개수를 지정하면 '시작열의 1행부터 순번을 출력하는 매크로를 작성합니다. '예상풀이시간 : 3분 '----------------------------------------- Sub SequenceNumber() Dim Column As String '시작열 @ 예) "A", "B", "C", ... Dim Count As Long '출력할 순번 개수 @ 예) 5, 10,15 ... Dim i As Long ' For문 변수 '힌트1) Column = "A" '힌트2) Count = 10 '힌트3) For i = 1 To Count '힌트4) Range(Column & i).Value End Sub '----------------------------------------- '미션2) 나만의 Sequence 매크로를 동적으로 만들기 'InitCell로 시작셀을 지정하고, Count로 출력할 순번 개수를 지정하면 'InitCell을 기준으로 한칸씩 내려가며 순번을 출력하는 매크로를 작성합니다. '예상풀이시간 : 5분 '----------------------------------------- Sub DynamicSequence() Dim InitCell As Range '시작셀 @ 예) Range("A1") Dim Count As Long '출력할 순번 개수 @ 예) 5, 10 15 .. Dim i As Long 'For문 변수 '힌트1) Set InitCell = Range("A1") '힌트2) Count = 10 '힌트3) For i = 1 To Count '힌트4) InitCell.Offset(i-1).Value End Sub '----------------------------------------- '미션3) 나만의 TextJoin 함수 만들기 '문자를 병합할 범위를 Rng로 입력하고, 구분자를 지정하면 'Rng의 각 셀을 돌아가며 구분자로 병합하는 함수를 작성합니다. '예상풀이시간 : 7분 '----------------------------------------- Function MyTextJoin(Rng As Range, _ Optional Delimiter As String = ",") '@ 인수 설명 'Rng : 값을 병합할 범위입니다. 'Delimiter : [선택인수] 구분자입니다. 기본값은 쉼표(,)입니다. Dim r As Range 'For Each문 변수 Dim Result As String '결과로 출력할 문자열 '힌트1) For Each r In Rng '힌트2) If r.Value <> "" Then '힌트3) Result = Result & r.Value & Delimiter '힌트4) MyTextJoin = Left(○○○, Len(○○○) - 1) End Function
② 시트 이벤트 매크로 마스터 코드
Application.ScreenUpdating = False Application.EnableEvents = False If Not Intersect(Target, Range("셀주소")) Is Nothing Then '실행할 명령문 End If Application.ScreenUpdating = True Application.EnableEvents = True
시간대별 목차
- ----- 1교시 -----
- 지난주 배운 내용 복습00:00
- 신뢰할 수 없는 파일 / 잠재적인 보안 오류 해결09:27
- 사전미션1. 순번 만들기 매크로10:24
- 사전미션2. 셀을 지정해서 순번 만들기13:13
- 사전미션3. TextJoin 함수 만들기16:52
- 코딩은 "실패"하면서 배워야합니다24:56
- 범위 마지막 셀 찾는 매크로26:36
- DynamicRange 함수 테스트40:07
- ----- 2교시 -----
- 나만의 자동필터 매크로 만들기41:29
- 자동필터 매크로 동작원리46:15
- 잘못된 상황 가정 후, 문제 해결하기47:51
- 시트 이벤트 매크로 사용법 기초49:27
- 원본 데이터 순서가 달라도 필터링 되나요?51:02
- SelectionChange vs. Change 차이점51:19
- 중요! 이벤트 매크로 사용시 주의사항54:40
- 실시간 필터링 매크로 만들기57:29
- 오류가 발생하는 상황 가정해보기59:13
- ----- 3교시 -----
- 범위 초기화 매크로 동작원리59:57
- 범위 초기화 매크로 작성하기1:00:43
- 범위 초기화 매크로 테스트1:05:33
- DynamicRange 코드를 직접 수정하는 방법1:06:05
- 실시간 필터링 매크로 최종 테스트1:06:59