2020. 6. 15. 21:51ㆍ사무용 엑셀-매크로
날짜 채우기 버튼을 누르면 입력한 날짜 기준으로 6개월 후, 9개월 후 날짜가 채워지는 VBA 매크로 기능 입니다.
Sub 날짜채우기()
Dim col As Long, i As Long
Dim dt As Date
col = ActiveSheet.Range("A4").CurrentRegion.Rows.Count
For i = 0 To col - 1
dt = Range("A4").Offset(i, 0)
Range("A4").Offset(i, 1) = DateAdd("m", 6, dt)
Range("A4").Offset(i, 1).Interior.Color = RGB(243, 248, 52)
Range("A4").Offset(i, 2) = DateAdd("m", 9, dt)
Range("A4").Offset(i, 2).Interior.Color = RGB(249, 189, 229)
Next
End Sub
혹시 필요하신 분들을 위해서 코드 해석을 해보자면
col = ActiveSheet.Range("A4").CurrentRegion.Rows.Count
//"A4"에 인접한 줄 수를 채움.
//사용하실 분들이 있다면 "A4"대신 사용자분의 데이터에서 처음 시작하는 데이터 위치 값을 입력해주세요.
dt = Range("A4").Offset(i, 0) //처음에는 "A4"의 날짜 값을 가져옴.
Range("A4").Offset(i, 1) = DateAdd("m", 6, dt)
//"A4"로부터 i 만큼 Rows를 내리고, "A4"의 1칸 옆에 데이터를 채울 거기 때문에 1을 입력한 것입니다.
//"6개월 후"이기 때문에 m과 6을 입력한 것입니다.
//해당하는 날짜 ex) 13일 후라면 DateAdd("d",13,dt) 이런 식으로 변경해서 쓰세요.
Range("A4").Offset(i,1).Interior.Color = RGB(243,248,52)
//색상은 RGB값을 원하시는 값을 넣으시거나, 원하지 않으면 지워주세요. 해당 색은 노란색입니다.
Range("A4").Offset(i, 2) = DateAdd("m", 9, dt)
Range("A4").Offset(i,2).Interior.Color = RGB(249,189,229)
//위와 설명이 같습니다. "A4"의 날짜보다 9개월 후 날짜를 적고 RGB값은 핑크색입니다.
//해당하는 설명은 i가 0일 때고 for문을 돌면서 줄 수만큼 알아서 밑으로 내려가서 채워집니다.
혹시 필요한 사람이 있어서 글 남겨 봅니다.
질문이 있으면 남겨주세요.
'사무용 엑셀-매크로' 카테고리의 다른 글
[사무용 엑셀 매크로] 사각형 그리기 #1 (기본 사각형 그리기) (0) | 2021.02.28 |
---|---|
[사무용 엑셀 매크로] 조건에 맞춰서 표의 칸 색상 변경 (0) | 2021.02.20 |
[사무용 엑셀 매크로] 조건에 맞춰서 표의 글씨색 변경 (0) | 2021.02.19 |
[사무용 엑셀] 입력 날짜에 맞는 요일 산출 (0) | 2021.01.26 |
[엑셀 매크로] 일정한 간격으로 증/감소 원 그리기 (0) | 2021.01.23 |