[사무용 엑셀 매크로] 자동으로 날짜 채우기, 색상 변경

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개월 후"이기 때문에 m6을 입력한 것입니다.

//해당하는 날짜 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문을 돌면서 줄 수만큼 알아서 밑으로 내려가서 채워집니다.

 

혹시 필요한 사람이 있어서 글 남겨 봅니다.

질문이 있으면 남겨주세요.