Как использовать eomonth в vba (с примером)
Вы можете использовать метод EoMonth в VBA, чтобы вернуть последний день месяца для заданной даты.
Вот распространенный способ использования этого метода на практике:
Sub LastDayOfMonth()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = Application.WorksheetFunction.EoMonth(Range(" A " & i), 0)
Range(" C " & i).NumberFormat = " m/d/yyyy "
Next i
End Sub
Этот конкретный макрос находит последний день месяца для каждой даты в диапазоне A2:A11 и отображает эту дату в соответствующей ячейке диапазона C2:C11 .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: как использовать EoMonth в VBA
Предположим, у нас есть следующий набор данных в Excel, который содержит информацию о продажах компании в разные даты:
Предположим, мы хотим найти последний день месяца для каждой даты в столбце A и отобразить его в столбце C.
Для этого мы можем создать следующий макрос:
Sub LastDayOfMonth()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = Application.WorksheetFunction.EoMonth(Range(" A " & i), 0)
Range(" C " & i).NumberFormat = " m/d/yyyy "
Next i
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что столбец C содержит последний день месяца для каждой соответствующей даты в столбце A.
Обратите внимание, что мы использовали свойство NumberFormat для отображения значений даты в распознаваемом формате даты в столбце C вместо серийных номеров, которые являются форматом по умолчанию в Excel.
Также обратите внимание, что последний аргумент метода EoMonth указывает количество месяцев вперед или назад, которое будет использоваться при расчете последнего дня месяца.
В этом примере мы использовали значение 0 , чтобы указать, что мы хотим найти последний день текущего месяца.
Однако вместо этого мы могли бы использовать значение -1, чтобы указать, что мы хотим найти последний день предыдущего месяца, или значение 1 , чтобы указать, что мы хотим найти последний день следующего месяца.
Примечание . Полную документацию по методу EoMonth в VBA можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
Как сравнить даты в VBA
Как преобразовать строку в дату в VBA
Как рассчитать дни между двумя датами в VBA