는 무엇보다도 나는 항상 명시 적 옵션을 사용하는 것이 좋습니다. 도구> 옵션> 편집기 (탭)> 변수 선언 필요 (tickbox)
현재 사업 : B2 (B25 및 C2) 범위를 원한다면 MS VB 창에서 메뉴를 통해 향후 프로젝트에 사용할 수 있습니다. :
Option Explicit
Private Sub Workbook_Open()
Dim SelRange As Range
Dim b As Range
Dim dtDate As Date
Dim intHours As Long
'Enter the starting date and time
dtDate = InputBox("Start date", , Date)
'Initate our hours counter
intHours = 0
'Assign a worksheet range for our date-time range
Set SelRange = Range("B2:B25")
'Write the date-time range with 1 hour increments
For Each b In SelRange
b.Value2 = dtDate + TimeSerial(intHours, 0, 0)
'24 hours later in the cell to the right of this
b.Offset(0, 1).Value2 = dtDate + 1 + TimeSerial(intHours, 0, 0)
intHours = intHours + 1
'To avoid an overflow in the TimeSerial function the intHours are keps smaller than then Integer maximum
If intHours > 24 Then
intHours = intHours - 24
dtDate = dtDate + 1
End If
Next
End Sub
당신은 당신이 날짜에 시작 내가 날짜로 시작하므로 언급으로 (짧은 시간이 예에서 C25은) 나는 다음과 같은 것을 사용하는 것이 좋습니다 1 개 시간 단위로 날짜 + 시간으로 채워질)를 InputBox에 저장합니다.
이제 제한된 횟수 만 반복하려면 (B2 : B25)이 적용되는 범위를 제한하여이 작업을 수행 할 수 있습니다. 루프가 아래쪽에 도달하면 루프가 중지됩니다.
이제 C 열에 미래의 날짜 시간이 자동으로 채워집니다. 앞으로 날짜가 지정되도록하려면 C 열의 행에서 시간표 부분을 건너 뜁니다. 이 시간을 1 시간 앞으로 변경하려면 다음 행을 변경하십시오.
b.Offset(0, 1).Value2 = dtDate + TimeSerial(intHours +1, 0, 0)
'시간 소인을 추가해야합니다.'- 무엇을 할 수 있습니까? 워크 시트의 셀? 매크로 시간에 맞추고 싶니? –
@ scott을 워크 시트의 셀에 추가합니다. 감사. – TankTank