Sub listLeave()
Dim d As Date, startDate As Date, endDate As Date
Dim myId As Long, myItem As String, myNote As String
Dim myRng As Range, rng As Range
With Worksheets("工作表1").Range("A1").CurrentRegion
set myRng = .Offset(1).Resize(.Rows.Count - 1, 1)
End With
For Each rng in myRng
myId = rng
startDate = rng.Offset(, 1)
endDate = rng.Offset(, 2)
myItem = rng.Offset(, 3)
myNote = rng.Offset(, 4)
For d = startDate To endDate
With Worksheets("工作表2").Cells(Rows.Count,1).End(xlup).Offset(1)
.Value = myId
.Offset(,1) = d
.Offset(,2) = myItem
.Offset(,3) = myNote
End With
Next d
Next rng
End Sub