오빠두엑셀 특별 챌린지
[🎁VBA 무료 챌린지] 완주하고, 상품권 받아가세요!🎉
실무에 꼭 필요한 VBA 스킬 완벽 정리! | 기초부터 활용까지, 초보자도 쉽게 배우는 VBA 마스터 클래스!🔥
미션 완성 코드는 영상 댓글의 완성파일을 확인하세요!
① 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