Дата в формате VBA

В этом руководстве будет показано, как форматировать даты с помощью VBA.

Форматирование дат в VBA

Существует два метода форматирования дат с помощью VBA.

  1. Свойство NumberFormat Cells / Ranges - для форматирования дат, хранящихся в ячейках.
  2. Функция формата VBA - для форматирования дат в VBA (например, переменных)

NumberFormat - Даты

Числовой формат ячейки в Excel по умолчанию - Общий. Вы можете отображать значения в виде чисел, текста, дат, процентов или валют, изменив числовой формат. Свойство NumberFormat можно использовать в VBA для установки числового формата дат в ячейке или диапазоне.

Примечание: Чтобы увидеть различные стандартные форматы даты, доступные в Excel, выберите «Главная»> «Число», и вы увидите такие параметры, как «Краткая дата», «Длинная дата» и «Время».


Короткое свидание

Параметр форматирования краткого числа даты отображает дату в кратком числовом формате.

Следующий код установит для свойства .NumberFormat ячейки A1 значение Short date:

1 Диапазон ("A1"). NumberFormat = "мм / дд / гггг"

Длинное свидание

Форматирование длинного числа даты отображает дату в более длинном письменном формате. Следующий код установит для свойства .NumberFormat ячейки A1 значение Long date:

1 Диапазон ("A1"). NumberFormat = "дддд, мммм дд, гггг"

Пользовательские даты

Чтобы увидеть коды настраиваемого числового формата, которые можно использовать в VBA для форматирования дат, перейдите в раздел «Главная страница> Число» и нажмите кнопку запуска диалогового окна. Перейдите на вкладку Number и выберите Custom.

Вы можете выбрать собственные встроенные форматы даты или создать свои собственные определяемые пользователем форматы даты. Следующий код установит для свойства .NumberFormat ячейки A1 встроенный настраиваемый формат даты:

1 Диапазон ("A1"). NumberFormat = "ммм-гг"

Результат:

Следующий код установит для свойства .NumberFormat ячейки A1 пользовательский формат даты:

1 Диапазон ("A1"). NumberFormat = "дддд-дд-ммм-гг"

Результат:

Просматривая готовые примеры Excel, вы можете узнать, как следует вводить NumberFormats. Для получения дополнительной информации прочтите документацию Microsoft по числовым форматам дат.

Функция формата VBA

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

Для форматирования дат можно использовать следующий синтаксис:

Формат (String_Representation, NumberFormatCode) где:

String_Representation - текстовая строка, представляющая дату.

NumberFormatCode - код числового формата, определяющий способ отображения даты.

В следующем коде показано, как отформатировать текстовое строковое представление даты в виде длинного формата даты:

1 Формат MsgBox («01.01.2010», «дддд, мммм дд, гггг»)

Результат:

Обратите внимание, что функция форматирования использует тот же синтаксис форматирования даты, что и приведенный выше NumberFormat.

В следующем коде показано, как отформатировать текстовое строковое представление даты как средний формат даты:

1 Формат MsgBox («09 октября 2012 г.», «Средняя дата»)

Результат:

В следующем коде показано, как отформатировать текстовое строковое представление даты в виде пользовательского формата:

1 MsgBox Format («09 октября 2012 г.», «дддд: дд / мм / гг»)

Конструктор настраиваемых форматов VBA

Наша надстройка VBA: AutoMacro содержит построитель настраиваемых форматов для редактора VBA. Это позволяет вам устанавливать собственные форматы и сразу же предварительно просматривать результат для желаемого значения:

Надстройка VBA содержит множество других «Генераторов кода», обширную библиотеку кода и набор других инструментов кодирования. Это идеальная надстройка для всех, кто серьезно относится к программированию на VBA!

Дата в формате VBA в доступе

Функция формата даты VBA работает в Access VBA точно так же, как и в Excel VBA.

12345678910 Функция GetDateFilter () как строка'создать строку для получения информации из 2 полей даты в форме в AccessDim strDateField как строкаЕсли IsNull (Me.txtSDate) = False, тоЕсли IsNull (Me.txtEDate) = True, то Me.txtEDate = Me.txtSDateЕсли strDateField2 = "" ТогдаGetDateFilter = strDateField & "Between #" & Format (Me.txtSDate, "mm / dd / yyyy") & "# And #" & Format (Me.txtEDate, "mm / dd / yyyy") & "#"Конец, еслиКонец, еслиКонечная функция

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave