104회
엑셀 VBA 4주 완성 특별 스터디 4강 | 스터디 완결! 나만의 엑셀 프로그램 만들기
강의노트
커리큘럼
댓글(5)
'오빠두엑셀'의 모든 Live 강의를
월 990원에 자유롭게 수강하세요!
'위캔두 멤버쉽' 가입하기
강의 자료
  • [라이브강의] 엑셀 VBA 4주 완성 특별 스터디 - 4강
    예제파일
완성파일은 영상 하단 댓글 링크를 확인해주세요.
라이브 미션

미션 완성 코드는 영상 댓글의 완성파일을 확인하세요!

  • [미션1] 고유값을 자동으로 등록하는 목록상자 만들기
  • [미션2] 나만의 제품등록 유저폼 만들기
보충 자료

① CountIf / SumIf 함수 만들기 사전 미션코드

Function MyCountIf(Rng As Range, Criteria As Variant) As Long
'---------------------------------
'■사전미션1
'나만의 CountIF 함수 만들기
'Rng 범위에서 Criteria와 같은 값의 개수를 반환합니다.
'---------------------------------
Dim R As Range
Dim i As Long
 
'힌트1) Rng의 셀을 하나씩 돌아가며..
'For Each R In Rng
 
    '힌트2) R의 값이 Criteria와 같을 경우, i에서 1을 더합니다.
    'If R.Value = Criteria Then..
 
'힌트3) MyCountIf 함수의 결과값으로 i를 반환합니다.
'MyCountIf = i
 
End Function
 
Function MySumIf(Rng As Range, Criteria As Variant, Sum_Range As Range) As Long
'---------------------------------
'■사전미션2
'나만의 SumIF 함수 만들기
'Rng 범위의 값이 Criteria와 같을 경우, Sum_Range의 합계를 반환합니다.
'---------------------------------
 
Dim i As Long
Dim Result As Long
 
'힌트1) Rng.Count 속성을 사용하면 조건범위의 개수를 확인할 수 있습니다.
'힌트2) i = 1 부터 Rng.Count 까지 돌아가며..
 
    '힌트3) Rng(i)을 사용하면 범위에서 i번째 위치한 값을 반환합니다.
    '힌트4) Rng에서 i번째 위치한 값이 Criteria와 동일할 경우..
    'If Rng(i) = Criteria Then..
 
 
        '힌트5) 기존 Result 에 Sum_Range(i) 번째 값을 더합니다.
        'Result = Result + Sum_range(i)
 
 
'힌트3) MySumIF 함수의 결과값으로 Result를 반환합니다.
'MySumIf = Result
 
End Function

② 시트 이벤트 매크로 마스터 코드

Application.ScreenUpdating = False
Application.EnableEvents = False
 
If Not Intersect(Target, Range("셀주소")) Is Nothing Then
    '실행할 명령문
End If
 
Application.ScreenUpdating = True
Application.EnableEvents = True
시간대별 목차
5 댓글
Inline Feedbacks
모든 댓글 보기
강의노트
커리큘럼
'오빠두엑셀'의 모든 Live 강의를
월 990원에 자유롭게 수강하세요!
'위캔두 멤버쉽' 가입하기
강의 자료
  • [라이브강의] 엑셀 VBA 4주 완성 특별 스터디 - 4강
    예제파일
완성파일은 영상 하단 댓글 링크를 확인해주세요.
라이브 미션

미션 완성 코드는 영상 댓글의 완성파일을 확인하세요!

  • [미션1] 고유값을 자동으로 등록하는 목록상자 만들기
  • [미션2] 나만의 제품등록 유저폼 만들기
보충 자료

① CountIf / SumIf 함수 만들기 사전 미션코드

Function MyCountIf(Rng As Range, Criteria As Variant) As Long
'---------------------------------
'■사전미션1
'나만의 CountIF 함수 만들기
'Rng 범위에서 Criteria와 같은 값의 개수를 반환합니다.
'---------------------------------
Dim R As Range
Dim i As Long
 
'힌트1) Rng의 셀을 하나씩 돌아가며..
'For Each R In Rng
 
    '힌트2) R의 값이 Criteria와 같을 경우, i에서 1을 더합니다.
    'If R.Value = Criteria Then..
 
'힌트3) MyCountIf 함수의 결과값으로 i를 반환합니다.
'MyCountIf = i
 
End Function
 
Function MySumIf(Rng As Range, Criteria As Variant, Sum_Range As Range) As Long
'---------------------------------
'■사전미션2
'나만의 SumIF 함수 만들기
'Rng 범위의 값이 Criteria와 같을 경우, Sum_Range의 합계를 반환합니다.
'---------------------------------
 
Dim i As Long
Dim Result As Long
 
'힌트1) Rng.Count 속성을 사용하면 조건범위의 개수를 확인할 수 있습니다.
'힌트2) i = 1 부터 Rng.Count 까지 돌아가며..
 
    '힌트3) Rng(i)을 사용하면 범위에서 i번째 위치한 값을 반환합니다.
    '힌트4) Rng에서 i번째 위치한 값이 Criteria와 동일할 경우..
    'If Rng(i) = Criteria Then..
 
 
        '힌트5) 기존 Result 에 Sum_Range(i) 번째 값을 더합니다.
        'Result = Result + Sum_range(i)
 
 
'힌트3) MySumIF 함수의 결과값으로 Result를 반환합니다.
'MySumIf = Result
 
End Function

② 시트 이벤트 매크로 마스터 코드

Application.ScreenUpdating = False
Application.EnableEvents = False
 
If Not Intersect(Target, Range("셀주소")) Is Nothing Then
    '실행할 명령문
End If
 
Application.ScreenUpdating = True
Application.EnableEvents = True
시간대별 목차
5
0
여러분의 생각을 댓글로 남겨주세요.x