103회
엑셀 VBA 4주 완성 특별 스터디 3강 | 백견이 불여일행! 이제 나도 엑셀 프로그래머!
강의노트
커리큘럼
댓글(4)
'오빠두엑셀'의 모든 Live 강의를
월 990원에 자유롭게 수강하세요!
'위캔두 멤버쉽' 가입하기
강의 자료
  • [라이브강의] 엑셀 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
시간대별 목차
4 댓글
Inline Feedbacks
모든 댓글 보기
강의노트
커리큘럼
'오빠두엑셀'의 모든 Live 강의를
월 990원에 자유롭게 수강하세요!
'위캔두 멤버쉽' 가입하기
강의 자료
  • [라이브강의] 엑셀 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
시간대별 목차
4
0
여러분의 생각을 댓글로 남겨주세요.x