Я пытаюсь добавить один месяц к дате, отформатированной как 30.11.2008, с использованием функции DateAdd, но независимо от того, какая дата введена, выдается 12:00:00 AM
Диапазоны для oneCell и twoCell указаны в формате «Дата» на листе Excel
For Each aWorksheet In ActiveWorkbook.Worksheets
If Left(aWorksheet.Name, 1) = "#" Then
siteNum = Trim(Right(Left(aWorksheet.Name, 5), 4))
Set oneCell = aWorksheet.Range("C:C").Find("2018")
Set twoCell = aWorksheet.Range("D:D").Find("2018")
If oneCell.Row > twoCell.Row Then
Set oneCell = oneCell.Offset(-1, 0)
End If
Do While oneCell.Value <> ""
billMonthDate = GetBillMonth(oneCell.Value, twoCell.Value)
Затем вызывается функция:
Public Function GetBillMonth(ByVal startDate As Date, ByVal endDate As Date) As Date
Dim billMonth As Date
Dim startMonthDays As Integer
Dim endMonthDays As Integer
If DateDiff("m", startDate, endDate) > 1 Then
billMonth = DateTime.DateAdd("m", 1, startDate)
Else
startMonthDays = DateDiff("d", startDate, DateSerial(Year(startDate), Month(startDate) + 1, -1))
endMonthDays = Day(endDate)
If startMonthDays > endMonthDays Then
billMonth = oneCellDate
ElseIf startMonthDays < endMonthDays Then
billMonth = endDate
Else
'fuck me
End If
End If
GetBillMonth = billMonth
End Function
Редактировать: дата начала поступает из электронной таблицыЯ анализируюМакрос перебирает и просматривает множество дат, поэтому я не могу просто добавить дату последовательно, чтобы решить эту проблему.Мне просто нужно dateadd для работы