ввести дату между начальной и конечной датой - PullRequest
0 голосов
/ 17 октября 2018

У меня есть метод для ввода даты начала и окончания, используя форму пользователя.Как я могу ввести даты между этой начальной и конечной датой и предоставить их в качестве ввода в таблицу Excel, используя VBA?

Например, если моя дата начала 1st jan 2012 имоя дата окончания равна 1st april 2012, я хотел бы получить ввод в excel sheet в этой форме:

1st jan 2012
1st feb 2012
1st march 2012
1st april 2012

Пожалуйста, предложите мне код VBA, чтобы сделать то же самое.

1 Ответ

0 голосов
/ 17 октября 2018

Трудно понять, что вы имеете в виду, но вы можете попробовать это:

Sub test3()

Dim Startdate As Date, EndDate As Date, AdditionalDate As String
Dim DatesDiff As Integer
Dim i As Integer
Dim LastRowA As Long

Startdate = Format(CDate("01/01/12"), "DD/MM/YYYY")
EndDate = Format(CDate("01/04/12"), "DD/MM/YYYY")

If Sheet1.Range("A1").Value = "" Then
    Sheet1.Range("A1").Value = Startdate
Else
    LastRowA = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
    Sheet1.Range("A" & LastRowA + 1).Value = Startdate
End If

DatesDiff = Month(EndDate) - Month(Startdate) - 1

For i = 1 To DatesDiff
    AdditionalDate = Left(CStr(Startdate), 2) & "/" & (Month(CStr(Startdate)) + i) & "/" & Right(CStr(Startdate), 4)
    LastRowA = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
    Sheet1.Range("A" & LastRowA + 1).Value = CDate(AdditionalDate) 'Format(CDate(AdditionalDate), "DD/MM/YYYY")
Next i
    LastRowA = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
    Sheet1.Range("A" & LastRowA + 1).Value = EndDate

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...