https://cafe.naver.com/excelmaster/160457에 올라온 질문입니다.
워크시트 함수인 EoMonth 함수를 사용하여
3개월 전의 첫날, 1개월 전의 마지막날을 구하여 그 사이에 있는 기간의 출고수량을 구하면 됩니다.
Chronicle님은 아래와 같이 풀었습니다.
https://blog.naver.com/asaph16/221472345497
풀이 과정은 같지만 이런 건 함수가 훨씬 간단하네요.
Option Base 1 Option Explicit Sub Macro() Dim vAll, vDate Dim i As Integer Dim LastInput As Date Dim StartDay As Date Dim LastDay As Date Dim SumOutput As Long Dim wkF As WorksheetFunction Set wkF = WorksheetFunction With Range("A1").CurrentRegion vAll = .Offset(1).Resize(.Rows.Count - 1) vDate = wkF.Transpose(.Columns(1).Offset(1).SpecialCells(2)) End With With wkF LastInput = .Max(vDate) StartDay = .EoMonth(LastInput, -4) + 1 LastDay = .EoMonth(LastInput, -1) End With For i = 1 To UBound(vDate) If vDate(i) >= StartDay Then If vDate(i) <= LastDay Then SumOutput = SumOutput + vAll(i, 4) End If End If Next Range("H1") = SumOutput End Sub | cs |
'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 |