오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 VBA 4주 완성 특별 스터디 3강 | 백견이 불여일행! 이제 나도 엑셀 프로그래머!

라이브정보
방송일 2022년 07월 16일 (103회)
조회수 2,461회
강의시간 1시간 7분
보충자료

① 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
관련 강의
스크랩 완료