엑셀 VBA에서 Date 함수는 현재 시스템의 날짜를 반환하는 함수입니다.
즉, 컴퓨터의 현재 날짜를 가져오는 데 사용됩니다.
1. 기본 문법
Date
|
- 반환값: 오늘 날짜 (YYYY-MM-DD 형식, 시스템 설정에 따라 다름)
2. 현재 날짜 가져오기
Sub 현재_날짜()
MsgBox "오늘 날짜: " & Date
End Sub
|
📌 출력 (예시): "오늘 날짜: 2025-03-08"
📌 현재 시스템의 날짜를 가져와 메시지 박스에 출력
3. 셀에 현재 날짜 입력
Sub 셀에_날짜입력()
Range("A1").Value = Date
End Sub
|
📌 A1 셀에 오늘 날짜 입력
4. 날짜 형식 지정 (Format 함수 사용)
Sub 날짜_형식_변환()
MsgBox Format(Date, "yyyy년 mm월 dd일")
End Sub
|
📌 출력 (예시): "2025년 03월 08일"
📌 날짜를 원하는 형식으로 변환
5. 현재 날짜와 시간 (Now 함수)
Sub 현재_날짜_시간()
MsgBox "현재 날짜와 시간: " & Now
End Sub
|
📌 출력 (예시): "현재 날짜와 시간: 2025-03-08 15:30:45"
📌 현재 날짜 및 시간을 가져옴
6. 특정 날짜 설정 (DateSerial)
Sub 특정날짜_설정()
Dim 특정날짜 As Date
특정날짜 = DateSerial(2025, 12, 25)
MsgBox "설정된 날짜: " & 특정날짜
End Sub
|
📌 출력: "설정된 날짜: 2025-12-25"
📌 연도, 월, 일을 직접 설정하여 특정 날짜 생성
7. 오늘로부터 날짜 계산 (DateAdd)
Sub 날짜_계산()
Dim 일주일후 As Date
일주일후 = DateAdd("d", 7, Date)
MsgBox "일주일 후: " & 일주일후
End Sub
|
📌 출력: "일주일 후: 2025-03-15"
📌 오늘 날짜에서 7일 후의 날짜 계산 (d = 일 단위)
8. 날짜 차이 계산 (DateDiff)
Sub 날짜_차이()
Dim 차이 As Integer
차이 = DateDiff("d", Date, DateSerial(2025, 12, 25))
MsgBox "크리스마스까지 남은 일수: " & 차이 & "일"
End Sub
|
📌 출력: "크리스마스까지 남은 일수: 292일"
📌 오늘과 2025-12-25 사이의 일수 계산 (d = 일 단위)
9. 현재 연도, 월, 일 추출 (Year, Month, Day)
Sub 연도_월_일_추출()
MsgBox "올해: " & Year(Date) & vbNewLine & _
"이번 달: " & Month(Date) & vbNewLine & _
"오늘: " & Day(Date)
End Sub
|
📌 출력:
올해: 2025
이번 달: 3
오늘: 8
|
📌 현재 연도, 월, 일 개별 추출
10. 요일 확인 (Weekday, WeekdayName)
Sub 요일_확인()
MsgBox "오늘은 " & WeekdayName(Weekday(Date)) & "요일입니다."
End Sub
|
📌 출력 (예시): "오늘은 토요일입니다."
📌 현재 날짜의 요일을 한글로 출력
11. 셀 범위에 날짜 자동 입력
Sub 날짜_자동입력()
Dim i As Integer
For i = 0 To 9
Range("A1").Offset(i, 0).Value = Date + i
Next i
End Sub
|
📌 A1:A10에 오늘부터 10일간 날짜 자동 입력
12. 셀 범위에 평일만 입력
Sub 평일만_입력()
Dim i As Integer, d As Date
d = Date ' 오늘 날짜
For i = 0 To 9
Do
d = d + 1 ' 하루씩 증가
Loop While Weekday(d, vbMonday) > 5 ' 주말 제외
Range("A1").Offset(i, 0).Value = d
Next i
End Sub
|
📌 A1:A10에 주말을 제외한 평일 날짜 입력
13. 두 날짜 사이의 주말 개수 계산
Sub 주말_개수()
Dim 시작 As Date, 종료 As Date
Dim d As Date, 주말수 As Integer
시작 = Date ' 오늘 날짜
종료 = DateAdd("m", 1, 시작) ' 한 달 후
For d = 시작 To 종료
If Weekday(d, vbMonday) > 5 Then 주말수 = 주말수 + 1
Next d
MsgBox "주말 개수: " & 주말수 & "일"
End Sub
|
📌 오늘부터 한 달 동안의 주말 개수를 계산
14. 현재 날짜를 파일 이름으로 사용
Sub 파일이름_날짜포함()
Dim 파일이름 As String
파일이름 = "보고서_" & Format(Date, "yyyy-mm-dd") & ".xlsx"
MsgBox "파일 이름: " & 파일이름
End Sub
|
📌 출력: "파일 이름: 보고서_2025-03-08.xlsx"
📌 현재 날짜를 포함한 파일 이름 생성
📝 정리
기능
|
VBA 코드
|
현재 날짜 반환
|
Date
|
현재 날짜와 시간 반환
|
Now
|
특정 날짜 생성
|
DateSerial(2025, 12, 25)
|
날짜 추가 (n일 후)
|
DateAdd("d", 7, Date)
|
날짜 차이 계산
|
DateDiff("d", Date, DateSerial(2025,12,25))
|
연도 추출
|
Year(Date)
|
월 추출
|
Month(Date)
|
일 추출
|
Day(Date)
|
요일 확인
|
WeekdayName(Weekday(Date))
|
셀에 날짜 입력
|
Range("A1").Value = Date
|
연속 날짜 자동 입력
|
Range("A1").Offset(i, 0).Value = Date + i
|
주말 제외 평일만 입력
|
Do While Weekday(d, vbMonday) > 5: d = d + 1: Loop
|
현재 날짜를 파일 이름으로 사용
|
파일이름 = "보고서_" & Format(Date, "yyyy-mm-dd") & ".xlsx"
|
🔥 VBA의 Date 함수와 관련 기능을 활용하면 날짜를 다루는 다양한 작업을 자동화할 수 있습니다! 🚀