-
[& Chronicle] 지정기간의 합 구하기VB(A)/당근쨈 & Chronicle 2019. 2. 22. 18:56
https://cafe.naver.com/excelmaster/160457에 올라온 질문입니다.
워크시트 함수인 EoMonth 함수를 사용하여
3개월 전의 첫날, 1개월 전의 마지막날을 구하여 그 사이에 있는 기간의 출고수량을 구하면 됩니다.
Chronicle님은 아래와 같이 풀었습니다.
https://blog.naver.com/asaph16/221472345497
풀이 과정은 같지만 이런 건 함수가 훨씬 간단하네요.
Option Base 1Option ExplicitSub Macro()Dim vAll, vDateDim i As IntegerDim LastInput As DateDim StartDay As DateDim LastDay As DateDim SumOutput As LongDim wkF As WorksheetFunctionSet wkF = WorksheetFunctionWith Range("A1").CurrentRegionvAll = .Offset(1).Resize(.Rows.Count - 1)vDate = wkF.Transpose(.Columns(1).Offset(1).SpecialCells(2))End WithWith wkFLastInput = .Max(vDate)StartDay = .EoMonth(LastInput, -4) + 1LastDay = .EoMonth(LastInput, -1)End WithFor i = 1 To UBound(vDate)If vDate(i) >= StartDay ThenIf vDate(i) <= LastDay ThenSumOutput = SumOutput + vAll(i, 4)End IfEnd IfNextRange("H1") = SumOutputEnd Subcs 'VB(A) > 당근쨈 & Chronicle' 카테고리의 다른 글
[& Chronicle] 정규식으로 특수문자 제외하고 문자와 숫자만 분리하기 (0) 2019.02.15 [& Chronicle] 경우의 수 구하기 (0) 2019.02.13 [& Chronicle] 연속근무 일수 구하기 (0) 2019.02.13 [& Chronicle] 원하는 글자 추출하기 (0) 2017.05.14 [& Chronicle] 표 구조 바꾸기 (0) 2017.05.11 댓글