Ранее я нашел код VBA, сделанный Энди Брауном, который генерирует список и делает каждую дату первой или 15-й для другого пользователя. Я пытался настроить этот код на свои нужды, но я боюсь. В настоящее время код, однажды запущенный, просто снова и снова вводит одну и ту же дату, и мне приходится заканчивать Excel.Создание списка дат с датами начала и окончания
Sub GenerateDates()
Dim FirstDate As Date
Dim LastDate As Date
Dim NextDate As Date
FirstDate = Range("A1").Value
LastDate = Range("a2").Value
NextDate = FirstDate
Range("B1").Select
Do Until NextDate >= LastDate
ActiveCell.Value = NextDate
ActiveCell.Offset(1, 0).Select
If Day(NextDate) = 1 Then
NextDate = DateAdd("d", NextDate, 14)
Else
NextDate = DateAdd("d", NextDate, 20)
NextDate = DateSerial(Year(NextDate), Month(NextDate), 1)
End If
Loop
Предыдущий код, который я основывал мою модель на указанный выше, и мой, скорее всего, ужасный код, ниже:
Sub GenerateDates()
Dim FirstDate As Date
Dim LastDate As Date
Dim NextDate As Date
FirstDate = Range("startdate").Value
LastDate = Range("enddate").Value
NextDate = FirstDate
Range("tripdays").Select
'selection of columns within one row
Do Until NextDate >= LastDate
ActiveCell.Value = NextDate
ActiveCell.Offset(1, 0).Select
If Day(NextDate) = 1 Then
NextDate = DateAdd("d", NextDate, 14)
End If
Loop
End Sub
Что мне нужно вместо этого генерировать каждый даты между учитывая даты начала и окончания, а не только 15-го и 1-го. Как это делается?
Что именно вам нужно? Мы не знаем, что вы хотите сделать с его кодом. Если вы в основном настраиваете его на именованные диапазоны, вам не нужно удалять блок «Else» из его кода. Добавьте это и отрегулируйте свои диапазоны. :) – Manhattan
Вместо каждой даты отделены друг от друга на 1-й и 15-я хочу выход быть каждый дата между диапазоном, так: дата Start = 1/1/2014 End Date = 1/6/2014 Выход = 1/1/2014 1/2/2014 1/3/2014 1/4/2014 1/5/2014 1/6/2014 ..... Также, как я правильно делаю седину для код, как вы там? Я буквально начал использовать VBA около недели назад, поэтому я надеюсь учиться и иметь возможность вносить вклад в других людей в будущем. – Chardo
Теперь это лучше. Изменение моего ответа ниже. Подождите несколько. – Manhattan