Sub CreateContinuousCalendar() Dim year As Integer Dim month As Integer Dim startRow As Integer Dim startCol As Integer Dim daysInMonth As Integer Dim firstDay As Integer Dim day As Integer ' 연도를 입력하세요 year = InputBox("달력을 생성할 연도를 입력하세요:", "연도 입력", 2023) startRow = 1 startCol = 1 ' 헤더 작성 Cells(startRow, startCol).Value = "연도: " & year startRow = startRow + 1 ' 각 달에 대해 반복 For month = 1 To 12 daysInMonth = Day(DateSerial(year, month + 1, 0)) ' 해당 월의 마지막 날 firstDay = Weekday(DateSerial(year, month, 1), vbSunday) ' 첫 날의 요일 ' 월 이름 작성 Cells(startRow, startCol).Value = MonthName(month) startRow = startRow + 1 ' 요일 헤더 Cells(startRow, startCol).Value = "일" Cells(startRow, startCol + 1).Value = "월" Cells(startRow, startCol + 2).Value = "화" Cells(startRow, startCol + 3).Value = "수" Cells(startRow, startCol + 4).Value = "목" Cells(startRow, startCol + 5).Value = "금" Cells(startRow, startCol + 6).Value = "토" startRow = startRow + 1 ' 빈 칸 추가 For i = 1 To firstDay - 1 Cells(startRow, startCol + i - 1).Value = "" Next i ' 날짜 채우기 For day = 1 To daysInMonth Cells(startRow, startCol + firstDay - 1 + day - 1).Value = day Next day ' 다음 달을 위해 행 업데이트 startRow = startRow + 2 ' 각 달 사이에 빈 행 추가 Next month ' 셀 크기 조정 Cells.Columns.AutoFit End Sub
Day가 array된것 아민가여?
Sub CreateContinuousCalendar()
Dim year As Integer
Dim month As Integer
Dim startRow As Integer
Dim startCol As Integer
Dim daysInMonth As Integer
Dim firstDay As Integer
Dim day As Integer
' 연도를 입력하세요
year = InputBox("달력을 생성할 연도를 입력하세요:", "연도 입력", 2023)
startRow = 1
startCol = 1
' 헤더 작성
Cells(startRow, startCol).Value = "연도: " & year
startRow = startRow + 1
' 각 달에 대해 반복
For month = 1 To 12
daysInMonth = Day(DateSerial(year, month + 1, 0)) ' 해당 월의 마지막 날
firstDay = Weekday(DateSerial(year, month, 1), vbSunday) ' 첫 날의 요일
' 월 이름 작성
Cells(startRow, startCol).Value = MonthName(month)
startRow = startRow + 1
' 요일 헤더
Cells(startRow, startCol).Value = "일"
Cells(startRow, startCol + 1).Value = "월"
Cells(startRow, startCol + 2).Value = "화"
Cells(startRow, startCol + 3).Value = "수"
Cells(startRow, startCol + 4).Value = "목"
Cells(startRow, startCol + 5).Value = "금"
Cells(startRow, startCol + 6).Value = "토"
startRow = startRow + 1
' 빈 칸 추가
For i = 1 To firstDay - 1
Cells(startRow, startCol + i - 1).Value = ""
Next i
' 날짜 채우기
For day = 1 To daysInMonth
Cells(startRow, startCol + firstDay - 1 + day - 1).Value = day
Next day
' 다음 달을 위해 행 업데이트
startRow = startRow + 2 ' 각 달 사이에 빈 행 추가
Next month
' 셀 크기 조정
Cells.Columns.AutoFit
End Sub
1등
댓글 감사합니다.