Разное

Vba format примеры: VBA Excel. Функция Format (синтаксис, параметры, примеры)

Содержание

VBA Excel. Форматирование текста в ячейке (объект Font)

Форматирование текста в ячейке при помощи кода VBA Excel. Объект Font и его основные свойства. Примеры изменения начертания строк в заданном диапазоне.

В этой статье рассмотрены свойства шрифта (объекта Font), определяющие внешнее оформление (начертание) видимого значения ячейки. Это касается не только текста (строк), но и визуального начертания отображаемых дат и числовых значений.

Формат отображаемого значения

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

  • рабочего листа по умолчанию;
  • установленный для диапазона пользователем;
  • примененный к диапазону из кода VBA Excel.

Если ячейка содержит текстовое значение, его начертание можно форматировать по отдельным частям (подстрокам). Такое форматирование доступно как в ручном режиме на рабочем листе, так и из кода VBA Excel.

У объекта Range есть свойство Font (шрифт), которое отвечает за форматирование (начертание) визуально отображаемого текста в ячейках рабочего листа. Его применение вызывает объект Font, который в свою очередь обладает собственным набором свойств, отвечающих за конкретный стиль начертания отображаемого значения.

Основные свойства объекта Font

Свойство Описание Значения
Name наименование шрифта “Arial”, “Calibri”, “Courier New”, “Times New Roman” и т.д.
Size размер шрифта от 1 до 409 пунктов
Bold полужирное начертание True, False
Italic курсивное начертание True, False
FontStyle заменяет Bold и Italic “обычный”, “полужирный”, “курсив”, “полужирный курсив”
Superscript надстрочный текст True, False
Subscript подстрочный текст True, False
Underline подчеркнутый текст True, False
Color* цвет текста от 0 до 16777215

*Color – это не единственное свойство, отвечающее за цвет отображаемого текста в ячейке. Оно также может принимать и другие значения, кроме указанных в таблице. Смотрите подробности в статье Цвет текста (шрифта) в ячейке.

Примеры форматирования текста

Пример 1
В этом примере ячейкам диапазона «A1:A3» присвоим шрифты разных наименований:

Sub Primer1()

Range(«A1»).Font.Name = «Courier»

Range(«A1») = «Шрифт «Courier»»

Range(«A2»).Font.Name = «Verdana»

Range(«A2») = «Шрифт «Verdana»»

Range(«A3»).Font.Name = «Times New Roman»

Range(«A3») = «Шрифт «Times New Roman»»

End Sub

Пример 2
В этом примере рассмотрим применение одного свойства объекта Font к одной ячейке:

Sub Primer2()

Range(«A5»).Font.Bold = True

Range(«A5») = «Полужирное начертание»

Range(«A6»). Font.FontStyle = «полужирный курсив»

Range(«A6») = «Полужирный курсив»

Range(«A7»).Font.Superscript = True

Range(«A7») = «Надстрочное начертание»

End Sub

Пример 3
Форматирование диапазона из нескольких ячеек:

Sub Primer3()

  With Range(«A9:C11»)

    .Value = «Форматируем диапазон»

    .Font.Underline = True

    .Font.Color = 75962

  End With

End Sub

Функция Format (Visual Basic для приложений)



  • Чтение занимает 15 мин

В этой статье

Возвращает Variant (String), содержащий выражение expression, отформатированное в соответствии с инструкциями, включенными в выражение формата. Returns a Variant (String) containing an expression formatted according to instructions contained in a format expression.

Примечание

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах?Interested in developing solutions that extend the Office experience across multiple platforms? Ознакомьтесь с новой моделью надстроек Office.Check out the new Office Add-ins model. У надстроек Office мало места по сравнению с надстройками и решениями VSTO, которые можно создавать с помощью практически любой технологии веб-программирования, например HTML5, JavaScript, CSS3 и XML.Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.

СинтаксисSyntax

Format(Expression, [ Format ], [ FirstDayOfWeek ], [ FirstWeekOfYear ])Format(Expression, [ Format ], [ FirstDayOfWeek ], [ FirstWeekOfYear ])

Синтаксис функции Format состоит из следующих частей:The Format function syntax has these parts.

ЧастьPart ОписаниеDescription
ExpressionExpression Обязательный атрибут.Required. Любое допустимое выражение.Any valid expression.
FormatFormat Необязательный атрибут.Optional. Допустимое именованное или определяемое пользователем выражение формата.A valid named or user-defined format expression.
FirstDayOfWeekFirstDayOfWeek Необязательный атрибут.Optional. Константа, задающая первый день недели.A constant that specifies the first day of the week.
FirstWeekOfYearFirstWeekOfYear Необязательный атрибут.Optional. Константа, задающая первую неделю года.A constant that specifies the first week of the year.

ПараметрыSettings

Аргумент firstdayofweek имеет следующие параметры.The firstdayofweek argument has these settings.

КонстантаConstant ЗначениеValue ОписаниеDescription
vbUseSystemvbUseSystem 00 Использовать настройку API многоязыковой поддержки.Use NLS API setting.
vbSundayvbSunday 11 Воскресенье (по умолчанию)Sunday (default)
vbMondayvbMonday 22 ПонедельникMonday
vbTuesdayvbTuesday 33 ВторникTuesday
vbWednesdayvbWednesday 44 СредаWednesday
vbThursdayvbThursday 55 ЧетвергThursday
vbFridayvbFriday 66 ПятницаFriday
vbSaturdayvbSaturday 77 СубботаSaturday

Аргумент firstweekofyear имеет следующие параметры. The firstweekofyear argument has these settings.

КонстантаConstant ЗначениеValue ОписаниеDescription
vbUseSystemvbUseSystem 00 Использовать настройку API многоязыковой поддержки.Use NLS API setting.
vbFirstJan1vbFirstJan1 11 Начать с недели, содержащей 1 января (по умолчанию).Start with week in which January 1 occurs (default).
vbFirstFourDaysvbFirstFourDays 22 Начать с первой недели, в которой имеется по крайней мере четыре дня в данном году.Start with the first week that has at least four days in the year.
vbFirstFullWeekvbFirstFullWeek 33 Начать с первой полной недели года.Start with the first full week of the year.

ПримечанияRemarks

Чтобы отформатироватьTo format Сделайте следующееDo this
ЧислаNumbers Используйте предопределенные именованные числовые форматы или создайте числовые форматы, определяемые пользователем. Use predefined named numeric formats or create user-defined numeric formats.
Даты и времяDates and times Используйте предопределенные именованные форматы даты и времени или создайте числовые форматы, определяемые пользователем.Use predefined named date/time formats or create user-defined date/time formats.
Даты и время, представленные числамиDate and time serial numbers Используйте именованные форматы даты и времени или создайте числовые форматы.Use date and time formats or numeric formats.
СтрокиStrings Создайте свои собственные определяемые пользователем строковые форматы.Create your own user-defined string formats.

Функция Format усекает format до 257 символов.Format truncates format to 257 characters.

Если вы попытаетесь форматировать числа без задания атрибута format, функция Format предоставит функциональность, аналогичную функции Str, хотя и с поддержкой международных форматов. If you try to format a number without specifying format, Format provides functionality similar to the Str function, although it is internationally aware. Однако положительные числа, отформатированные как строки с использованием функции Format, не будут включать начальный пробел, зарезервированный для знака или значения; в случае же преобразования с помощью функции Str начальный пробел сохранится.However, positive numbers formatted as strings using Format don’t include a leading space reserved for the sign of the value; those converted using Str retain the leading space.

При форматировании нелокализованных числовых строк, следует использовать определяемый пользователем числовой формат, чтобы обеспечить получение желаемых результатов.If you are formatting a non-localized numeric string, you should use a user-defined numeric format to ensure that you get the look you want.

Примечание

Если свойству Calendar присвоено значение Gregorian и format задает форматирование даты, выдаваемым expression должно быть Gregorian. If the Calendar property setting is Gregorian and format specifies date formatting, the supplied expression must be Gregorian. Если свойству Visual Basic Calendar присвоено значение Hijri, выдаваемым expression должно быть Hijri.If the Visual Basic Calendar property setting is Hijri, the supplied expression must be Hijri.

Если используется григорианский календарь, значение символов выражения format не изменяется.If the calendar is Gregorian, the meaning of format expression symbols is unchanged. Если используется календарь Хиджра, все символы формата даты (например, dddd, mmmm, yyyy) имеют то же значение, но применяются к календарю Хиджра.If the calendar is Hijri, all date format symbols (for example, dddd, mmmm, yyyy ) have the same meaning but apply to the Hijri calendar. Символы формата остаются английскими; символы, отображаемые в текстовом виде (например, AM и PM), отображают строку (на английском или арабском языке), связанную с этим символом.Format symbols remain in English; symbols that result in text display (for example, AM and PM) display the string (English or Arabic) associated with that symbol. Диапазон некоторых символов при использовании календаря Хиджра изменяется.The range of certain symbols changes when the calendar is Hijri.

Символы датыDate symbols

СимволSymbol ДиапазонRange
dd 1–31 (день месяца без нуля в начале)1-31 (Day of month, with no leading zero)
dddd 01–31 (день месяца с нулем в начале)01-31 (Day of month, with a leading zero)
ww 1–7 (день недели, начиная с воскресенья = 1)1-7 (Day of week, starting with Sunday = 1)
wwww 1–53 (неделя года без нуля в начале; неделя 1 начинается с 1 января)1-53 (Week of year, with no leading zero; Week 1 starts on Jan 1)
mm 1–12 (месяц года без нуля в начале, начиная с января = 1)1-12 (Month of year, with no leading zero, starting with January = 1)
mmmm 01–12 (месяц года с нулем в начале, начиная с января = 01)01-12 (Month of year, with a leading zero, starting with January = 01)
mmmmmm Отображает сокращенное название месяца (в названии месяцев Хиджра нет сокращений)Displays abbreviated month names (Hijri month names have no abbreviations)
mmmmmmmm Отображает полное название месяцаDisplays full month names
yy 1–366 (день года)1-366 (Day of year)
yyyy 00–99 (последние две цифры года)00-99 (Last two digits of year)
yyyyyyyy 100–9999 (год из трех или четырех цифр)100-9999 (Three- or Four-digit year)

Символы времениTime symbols

СимволSymbol ДиапазонRange
hh 0–23 (1–12 с добавлением «AM» или «PM») (час суток без нуля в начале)0-23 (1-12 with «AM» or «PM» appended) (Hour of day, with no leading zero)
hhhh 00–23 (01–12 с добавлением «AM» или «PM») (час суток с нулем в начале)00-23 (01-12 with «AM» or «PM» appended) (Hour of day, with a leading zero)
nn 0–59 (минута часа без нуля в начале)0-59 (Minute of hour, with no leading zero)
nnnn 00–59 (минута часа с нулем в начале)00-59 (Minute of hour, with a leading zero)
mm 0–59 (минута часа без нуля в начале). 0-59 (Minute of hour, with no leading zero). Только если находится после h или hhOnly if preceded by h or hh
mmmm 00–59 (минута часа с нулем в начале).00-59 (Minute of hour, with a leading zero). Только если находится после h или hhOnly if preceded by h or hh
ss 0–59 (секунда минуты без нуля в начале)0-59 (Second of minute, with no leading zero)
ssss 00–59 (секунда минуты с нулем в начале)00-59 (Second of minute, with a leading zero)

ПримерExample

В этом примере показываются различные варианты использования функции Format для форматирования значений с использованием как именованных форматов, так и форматов, определяемых пользователем.This example shows various uses of the Format function to format values using both named formats and user-defined formats. Отображение разделителей даты (/), времени (:) и литерала AM/PM зависит от языковых настроек системы, в среде которой выполняется код.For the date separator (/), time separator (:), and AM/ PM literal, the actual formatted output displayed by your system depends on the locale settings on which the code is running. При отображении времени и дат в среде разработки используются краткие форматы даты и времени, определяемые настройками языка для кода.When times and dates are displayed in the development environment, the short time format and short date format of the code locale are used. При их отображении в процессе выполнения кода используются краткие форматы даты и времени языка системы, которые могут отличаться от настроек языка для кода.When displayed by running code, the short time format and short date format of the system locale are used, which may differ from the code locale. В этом примере подразумевается использование языка «Английский (США)». For this example, English/U.S. is assumed. Элементы MyTime и MyDate отображаются в среде разработки с использованием текущих кратких форматов даты и времени языка системы.MyTime and MyDate are displayed in the development environment using current system short time setting and short date setting.

Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#

' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")

' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")

MyStr = Format(MyTime, "h:m:s")    ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss am/pm")    ' Returns "05:04:23 pm".
MyStr = Format(MyTime, "hh:mm:ss AM/PM")    ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy")    ' Returns "Wednesday, Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23)    ' Returns "23". 

' User-defined formats.
MyStr = Format(5459.4, "##,##0.00")    ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00")    ' Returns "334.90".
MyStr = Format(5, "0.00%")    ' Returns "500.00%".
MyStr = Format("HELLO", "<")    ' Returns "hello".
MyStr = Format("This is it", ">")    ' Returns "THIS IS IT".

Различные форматы для различных числовых значенийDifferent formats for different numeric values

В определяемом пользователем expression формата для чисел может иметься от одного до четырех разделов, отделяемых друг от друга точками с запятой.A user-defined format expression for numbers can have from one to four sections separated by semicolons. Если аргумент формата содержит один из именованных числовых форматов, допускается использование только одного раздела.If the format argument contains one of the named numeric formats, only one section is allowed.

Если используетсяIf you use РезультатThe result is
Только один разделOne section only Выражение формата применяется ко всем значениям.The format expression applies to all values.
Два разделаTwo sections Первый раздел применяется к положительным значениям и нулям, второй — к отрицательным значениям.The first section applies to positive values and zeros, the second to negative values.
Три разделаThree sections Первый раздел применяется к положительным значениям, второй — к отрицательным значениям, третий — к нулям.The first section applies to positive values, the second to negative values, and the third to zeros.
Четыре разделаFour sections Первый раздел применяется к положительным значениям, второй — к отрицательным значениям, третий — к нулям, четвертый — к значениям Null.The first section applies to positive values, the second to negative values, the third to zeros, and the fourth to Null values.
"$#,##0;($#,##0)"

Если записать знаки точки с запятой без кода между ними, то отсутствующий раздел будет печататься с использованием формата положительного значения.If you include semicolons with nothing between them, the missing section is printed using the format of the positive value. Например, следующий формат отображает положительные и отрицательные значения с использованием формата первого раздела и отображает «Zero», если значением является нуль.For example, the following format displays positive and negative values using the format in the first section and displays «Zero» if the value is zero.

"$#,##0;;\Z\e\r\o"

Различные форматы для различных строковых значенийDifferent formats for different string values

В expression формата для строк может иметься один раздел или два раздела, отделяемых друг от друга точками с запятой (;).A format expression for strings can have one section or two sections separated by a semicolon (;).

Если используетсяIf you use РезультатThe result is
Только один разделOne section only Формат применяется ко всем строковым данным.The format applies to all string data.
Два разделаTwo sections Первый раздел применяется к строковым данным, второй — к значениям Null и пустым строкам («»).The first section applies to string data, the second to Null values and zero-length strings («»).

Именованные форматы даты и времениNamed date/time formats

В следующей таблице указываются предопределенные имена форматов даты и времени.The following table identifies the predefined date and time format names.

Имя форматаFormat name ОписаниеDescription
General DateGeneral Date Отображение даты и/или времени, например 4/3/93 05:34 PM.Display a date and/or time, for example, 4/3/93 05:34 PM. Если дробная часть отсутствует, отображается только дата, например 4/3/93.If there is no fractional part, display only a date, for example, 4/3/93. Если отсутствует целая часть, отображается только время, например 05:34 PM.If there is no integer part, display time only, for example, 05:34 PM. Отображение даты определяется параметрами системы.Date display is determined by your system settings.
Long DateLong Date Отображение даты в соответствии с длинным форматом даты, используемым в системе.Display a date according to your system’s long date format.
Medium DateMedium Date Отображение даты с использованием среднего формата даты, соответствующего языковой версии ведущего приложения.Display a date using the medium date format appropriate for the language version of the host application.
Short DateShort Date Отображение даты в соответствии с кратким форматом даты, используемым в системе.Display a date using your system’s short date format.
Long TimeLong Time Отображение времени в соответствии с длинным форматом даты, используемым в системе; включает часы, минуты и секунды.Display a time using your system’s long time format; includes hours, minutes, seconds.
Medium TimeMedium Time Отображение времени в 12-часовом формате с использованием часов, минут и указателя AM/PM.Display time in 12-hour format using hours and minutes and the AM/PM designator.
Short TimeShort Time Отображение времени в 24-часовом формате, например 17:45.Display a time using the 24-hour format, for example, 17:45.

Именованные числовые форматыNamed numeric formats

В следующей таблице указываются предопределенные имена числовых форматов.The following table identifies the predefined numeric format names.

Имя форматаFormat name ОписаниеDescription
General NumberGeneral Number Отображение числа без знака разделителя групп разрядов.Display number with no thousand separator.
CurrencyCurrency Отображение числа с использованием разделителя групп разрядов, если это необходимо; отображаются две цифры справа от разделителя целой и дробной части.Display number with thousand separator, if appropriate; display two digits to the right of the decimal separator. Вывод основывается на языковых настройках системы.Output is based on system locale settings.
FixedFixed Отображение по крайней мере одной цифры слева и двух цифр справа от разделителя целой и дробной части.Display at least one digit to the left and two digits to the right of the decimal separator.
StandardStandard Отображение числа с использованием разделителя групп разрядов; отображаются по крайней мере одна цифра слева и две цифры справа от разделителя целой и дробной части.Display number with thousand separator, at least one digit to the left and two digits to the right of the decimal separator.
PercentPercent Отображение числа, умноженного на 100 со знаком процента (%), добавляемого справа; всегда отображаются две цифры справа от разделителя целой и дробной части.Display number multiplied by 100 with a percent sign (%) appended to the right; always display two digits to the right of the decimal separator.
ScientificScientific Используется стандартное экспоненциальное представление.Use standard scientific notation.
Yes/NoYes/No Отображается «Нет», если число равняется 0; в противном случае отображается «Да».Display No if number is 0; otherwise, display Yes.
True/FalseTrue/False Отображается False, если число равняется 0; в противном случае отображается True.Display False if number is 0; otherwise, display True.
On/OffOn/Off Отображается «Вкл», если число равняется 0; в противном случае отображается «Выкл».Display Off if number is 0; otherwise, display On.

Определяемые пользователем строковые форматыUser-defined string formats

Вы можете использовать любой из следующих знаков для создания expression формата для строк.You can use any of the following characters to create a format expression for strings.

ЗнакCharacter ОписаниеDescription
@ Заполнитель для символов.Character placeholder. Отображает знак или пробел.Display a character or a space. Если в строке имеется знак на позиции, в которой в строке форматирования располагается at-символ (@), отображается этот знак; в противном случае на этой позиции отображается пробел.If the string has a character in the position where the at symbol (@) appears in the format string, display it; otherwise, display a space in that position. Заполнители заполняются справа налево, если только в строке форматирования не будет представлен восклицательный знак (!).Placeholders are filled from right to left unless there is an exclamation point character (!) in the format string.
& Заполнитель для символов.Character placeholder. Отображает знак или ничего не отображает.Display a character or nothing. Если в строке имеется знак на позиции, в которой располагается амперсанд (&), отображается этот знак; в противном случае не отображается ничего.If the string has a character in the position where the ampersand (&) appears, display it; otherwise, display nothing. Заполнители заполняются справа налево, если только в строке форматирования не будет представлен восклицательный знак (!).Placeholders are filled from right to left unless there is an exclamation point character (!) in the format string.
< Принудительное отображение нижнего регистра.Force lowercase. Отображение всех знаков в формате нижнего регистра.Display all characters in lowercase format.
> Принудительное отображение верхнего регистра.Force uppercase. Отображение всех знаков в формате верхнего регистра.Display all characters in uppercase format.
! Принудительное заполнение заполнителей в порядке слева направо.Force left to right fill of placeholders. По умолчанию заполнители заполняются справа налево.The default is to fill placeholders from right to left.

Определяемые пользователем форматы даты и времениUser-defined date/time formats

В следующей таблице указываются знаки, которые могут использоваться при создании определяемых пользователем форматов даты и времени.The following table identifies characters you can use to create user-defined date/time formats.

ЗнакCharacter ОписаниеDescription
(:) Разделитель компонентов времени.Time separator. В некоторых языковых стандартах могут использоваться другие знаки для представления разделителя компонентов времени.In some locales, other characters may be used to represent the time separator. Этот разделитель отделяет часы, минуты и секунды, когда значения времени форматируются.The time separator separates hours, minutes, and seconds when time values are formatted. Символ, используемый в качестве разделителя компонентов времени в отформатированных выходных данных, определяется параметрами системы.The actual character used as the time separator in formatted output is determined by your system settings.
(/) Разделитель компонентов даты.Date separator. В некоторых языковых стандартах могут использоваться другие знаки для представления разделителя компонентов даты.In some locales, other characters may be used to represent the date separator. Этот разделитель отделяет день, месяц и год, когда значения даты форматируются.The date separator separates the day, month, and year when date values are formatted. Символ, используемый в качестве разделителя компонентов даты в отформатированных выходных данных, определяется параметрами системы.The actual character used as the date separator in formatted output is determined by your system settings.
cc Отображение даты в формате ddddd и отображение времени в формате ttttt (в этом порядке).Display the date as ddddd and display the time as ttttt, in that order. Отображение только информации о дате, если отсутствует дробная часть в дате, представленной числом; отображение только информации о времени, если отсутствует целая часть.Display only date information if there is no fractional part to the date serial number; display only time information if there is no integer portion.
dd Отображение дня в виде числа без нуля в начале (1–31).Display the day as a number without a leading zero (1–31).
dddd Отображение дня в виде числа с нулем в начале (01–31).Display the day as a number with a leading zero (01–31).
dddddd Отображение дня с использованием сокращений (Вс–Сб).Display the day as an abbreviation (Sun–Sat). Локализовано.Localized.
dddddddd Отображение дня с использованием полного имени (Воскресенье–Суббота).Display the day as a full name (Sunday–Saturday). Локализовано.Localized.
dddddddddd Отображение даты с использованием полного формата (включая день, месяц и год), соответствующего краткому формату даты в настройках системы.Display the date as a complete date (including day, month, and year), formatted according to your system’s short date format setting. Кратким форматом даты по умолчанию является m/d/yy.The default short date format is m/d/yy.
dddddddddddd Отображение числа, представляющего дату, с использованием полного формата (включая день, месяц и год), соответствующего длинному формату даты в настройках системы.Display a date serial number as a complete date (including day, month, and year) formatted according to the long date setting recognized by your system. Длинным форматом даты по умолчанию является mmmm dd, yyyy.The default long date format is mmmm dd, yyyy.
ww Отображение дня недели в виде числа (от 1 для воскресенья и до 7 для субботы).Display the day of the week as a number (1 for Sunday through 7 for Saturday).
wwww Отображение недели года в виде числа (1–54).Display the week of the year as a number (1–54).
mm Отображение месяца в виде числа без нуля в начале (1–12).Display the month as a number without a leading zero (1–12). Если m следует сразу же после h или hh, отображаться будет не месяц, а минута.If m immediately follows h or hh, the minute rather than the month is displayed.
mmmm Отображение месяца в виде числа с нулем в начале (01–12).Display the month as a number with a leading zero (01–12). Если m следует сразу же после h или hh, отображаться будет не месяц, а минута.If m immediately follows h or hh, the minute rather than the month is displayed.
mmmmmm Отображение сокращенного названия месяца (янв–дек).Display the month as an abbreviation (Jan–Dec). Локализовано.Localized.
mmmmmmmm Отображение полного названия месяца (январь–декабрь).Display the month as a full month name (January–December). Локализовано.Localized.
qq Отображение квартала года в виде числа (1–4).Display the quarter of the year as a number (1–4).
yy Отображение дня года в виде числа (1–366).Display the day of the year as a number (1–366).
yyyy Отображение года в виде 2-значного числа (00–99).Display the year as a 2-digit number (00–99).
yyyyyyyy Отображение года в виде 4-значного числа (100–9999).Display the year as a 4-digit number (100–9999).
hh Отображение часа в виде числа без нуля в начале (0–23).Display the hour as a number without a leading zero (0–23).
hhhh Отображение часа в виде числа с нулем в начале (00–23).Display the hour as a number with a leading zero (00–23).
nn Отображение минуты в виде числа без нуля в начале (0–59).Display the minute as a number without a leading zero (0–59).
nnnn Отображение минуты в виде числа с нулем в начале (00–59).Display the minute as a number with a leading zero (00–59).
ss Отображение секунды в виде числа без нуля в начале (0–59).Display the second as a number without a leading zero (0–59).
ssss Отображение секунды в виде числа с нулем в начале (00–59).Display the second as a number with a leading zero (00–59).
tttttttttt Отображение времени в полном формате (включая час, минуту и секунду) с использованием разделителя компонентов времени, определенного в формате времени, указанного в настройках системы.Display a time as a complete time (including hour, minute, and second), formatted using the time separator defined by the time format recognized by your system. Нуль в начале отображается, если выбран параметр «Нуль в начале» и время относится к интервалу ранее 10:00 A.M.A leading zero is displayed if the leading zero option is selected and the time is before 10:00 A.M. или P.M.or P.M. Форматом времени по умолчанию является h:mm:ss.The default time format is h:mm:ss.
AM/PMAM/PM Используется 12-часовой формат и отображается указатель AM в верхнем регистре с любым часом до полудня; отображается указатель PM в верхнем регистре с любым часом между полуднем и 11:59 P.M.Use the 12-hour clock and display an uppercase AM with any hour before noon; display an uppercase PM with any hour between noon and 11:59 P.M.
am/pmam/pm Используется 12-часовом формат и отображается указатель AM в нижнем регистре с любым часом до полудня; отображается указатель PM в нижнем регистре с любым часом между полуднем и 11:59 P.M.Use the 12-hour clock and display a lowercase AM with any hour before noon; display a lowercase PM with any hour between noon and 11:59 P.M.
A/PA/P Используется 12-часовом формат и отображается указатель A в верхнем регистре с любым часом до полудня; отображается указатель P в верхнем регистре с любым часом между полуднем и 11:59 P.M.Use the 12-hour clock and display an uppercase A with any hour before noon; display an uppercase P with any hour between noon and 11:59 P.M.
a/pa/p Используется 12-часовом формат и отображается указатель A в нижнем регистре с любым часом до полудня; отображается указатель P в нижнем регистре с любым часом между полуднем и 11:59 P.M.Use the 12-hour clock and display a lowercase A with any hour before noon; display a lowercase P with any hour between noon and 11:59 P.M.
AMPMAMPM Используется 12-часовой формат и отображается строковый литерал AM с любым часом до полудня в соответствии с настройками системы; отображается строковый литерал PM с любым часом между полуднем и 11:59 P.M. в соответствии с настройками системы.Use the 12-hour clock and display the AM string literal as defined by your system with any hour before noon; display the PM string literal as defined by your system with any hour between noon and 11:59 P.M. Указатель AMPM может отображаться как в верхнем, так и в нижнем регистре, однако регистр отображаемой строки соответствует строке, определенной параметрами системы.AMPM can be either uppercase or lowercase, but the case of the string displayed matches the string as defined by your system settings. Форматом по умолчанию является AM/PM.The default format is AM/PM. Если вашей системе установлен 24-часовой формат, эта строка обычно устанавливается пустой.If your system is set to 24-hour clock, the string is typical set to a zero-length string.

Определяемые пользователем числовые форматыUser-defined numeric formats

В следующей таблице указываются знаки, которые могут использоваться при создании определяемых пользователем форматов чисел.The following table identifies characters you can use to create user-defined number formats.

ЗнакCharacter ОписаниеDescription
НетNone Отображение числа без форматирования.Display the number with no formatting.
(0)(0) Заполнитель цифры.

Функция Format — Access

Возвращает значение типа Variant (String), которое содержит выражение, отформатированное в соответствии с указаниями, содержащимися в выражении формата.


Некоторые примеры


Синтаксис


Format(
выражение [, формат ] [, первый_день_недели ] [, первая_неделя_года ] )

Функция Format имеет следующие аргументы:






Аргумент


Описание


выражение

Обязательный аргумент. Любое допустимое выражение.


формат

Необязательный. Допустимое именованное или определяемое пользователем выражение формата.


первый_день_недели

Необязательный. Константа, задающая первый день недели.


первая_неделя_года

Необязательный аргумент. Константа, задающая первую неделю года.


Параметры

Аргумент Format может использовать разнообразные параметры, в зависимости от типа данных аргумента Expression . Дополнительные сведения см. в статьях, указанных в таблице ниже.


Аргумент первый_день_недели может принимать следующие значения:










Константа


Значение


Описание


vbUseSystem

0

Используются параметры API NLS.


VbSunday

1

Воскресенье (по умолчанию)


vbMonday

2

Понедельник


vbTuesday

3

Вторник


vbWednesday

4

Среда


vbThursday

5

Четверг


vbFriday

6

Пятница


vbSaturday

7

Суббота

Аргумент первая_неделя_года может принимать следующие значения:






Константа


Значение


Описание


vbUseSystem

0

Используются параметры API NLS.


vbFirstJan1

1

Начинается с недели, на которую приходится 1 января (по умолчанию).


vbFirstFourDays

2

Первой неделей считается та, которая содержит хотя бы четыре дня нового года.


vbFirstFullWeek

3

Первой неделей считается первая полная неделя года.


Замечания






Чтобы отформатировать


Сделайте следующее

Числа

Используйте стандартные именованные числовые форматы или создайте пользовательские числовые форматы.

Значения даты и времени

Используйте стандартные именованные форматы даты и времени или создайте пользовательские форматы даты и времени.

Серийные номера даты и времени

Используйте форматы даты и времени или числовые форматы.

Строки

Создайте пользовательские форматы строк.

Если вы попытаетесь отформатировать число без задания формата, функция Format будет работать аналогично функции Str, хотя и с поддержкой международных форматов. Однако положительные числа, отформатированные как строки с использованием функции Format, не будут включать начальный пробел, зарезервированный для знака значения; с другой стороны, в случае преобразования с помощью функции Str начальный пробел сохранится.

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


Примечание: Если для свойства Calendar задано значение Gregorian, а для аргумента формат указано форматирование даты, предоставленное выражение должно иметь тип Gregorian. Если для свойства Calendar в Visual Basic задано значение Hijri, выражение должно иметь тип Hijri.

Если используется григорианский календарь, значение символов выражения формат не изменяется. Если используется календарь Хиджра, все символы формата даты (например, dddd, mmmm, yyyy) имеют то же значение, но применяются к календарю Хиджра. Символы формата остаются английскими; символы, отображаемые в текстовом виде (например, AM и PM), выводят строку (на английском или арабском языке), связанную с этим символом. Диапазон некоторых символов при использовании календаря Хиджра изменяется.








Символ


Диапазон

d

1–30

dd

1–30

ww

1–51

mmm

Отображает полное название месяца (у названий месяцев Хиджра нет сокращений).

y

1–355

yyyy

100–9666

Примеры


Использование функции Format в выражении.    Функцию Format можно использовать в любых выражениях. Можно, например, использовать ее в запросе в виде части псевдонима поля или в свойстве Данные текстового поля в форме или отчете. Ниже представлен пример выражения, которое можно использовать в свойстве отчета Фильтр, чтобы вывести только записи, относящиеся к прошлой неделе.


Format([Дата],»ww»)=Format(Now(),»ww»)-1

В этом примере в источнике записей отчета есть поле «Дата», содержащее дату изменения каждой конкретной записи и использующееся в отчете. Во время выполнения отчета результаты фильтруются и отображаются только те записи, в которых значение недели в поле «Дата» (Format([Дата],»ww»)) равно прошлой неделе (Format(Now(),»ww»)-1).


Использование функции Format в коде VBA    


Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере показаны различные варианты использования функции Format для форматирования значений с помощью предварительно заданных форматов и форматов, определенных пользователем. Для разделителя даты (/), разделителя времени (:) и литералов AM/ PM фактические отформатированные выходные данные, отображаемые системой, зависят от ее региональных параметров. В среде разработки для отображения времени и даты используется краткий формат времени и даты, заданный в региональных параметрах программы. При отображении в работающей программе применяется краткий формат даты и времени из региональных параметров системы, который может отличаться от региональных параметров программы. В этом примере используется локаль «Английский (США)».


MyTime и MyDate отображаются в среде разработки с использованием текущих системных параметров для краткого формата времени и даты.


Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s") ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Returns "Wednesday,
' Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23) ' Returns "23".
' User-defined formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns "334.90".
MyStr = Format(5, "0.00%") ' Returns "500.00%".
MyStr = Format("HELLO", "<") ' Returns "hello".
MyStr = Format("This is it", ">") ' Returns "THIS IS IT".




Использование функции Format с пустыми строками

В Microsoft Access версии 2,0 и более ранних версиях можно использовать функцию Format , чтобы возвращать одно значение для пустая строка, а другое — для значения. Например, вы можете использовать выражение формата, например следующее, с функцией Format , чтобы вернуть соответствующее строковое значение из кода:


Dim varX As Variant
Dim varStrX As Variant
' Assign some value to varStrX and pass to Format function.
varX = Format(varStrX, "@;ZLS;Null")


В Microsoft Access 97 и более поздних версиях необходимо отдельно проверить, не равно ли значение Null, а затем вернуть соответствующее значение с учетом результата. Например, можно использовать функцию IIf в выражении с функцией Format:


varX = IIf(IsNull(varStrX),»Null», Format(varStrX, «@;ZLS»))

Данное изменение применимо только тогда, когда функция Format используется для форматирования строк в зависимости от того, пустая ли это строка или строка со значением Null. Другие выражения форматирования, используемые с функцией Format, действуют так же, как в предыдущих версиях.

При преобразовании базы данных из Microsoft Access 2.0 или более ранней версии в Microsoft Access 2002 или более поздней версии необходимо изменить текст программы так, чтобы проверка для случая Null выполнялась отдельно.

Функции даты-времени в VBA. Работа с датой и временем

Функции даты и времени VBScript помогают разработчикам преобразовывать дату и время из одного формата в другой или выражать дату

или время в формате, соответствующем определенному условию.

Date

Функция возвращает текущую системную дату.

Синтаксис

date()

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   Dim a as Variant
   a = date()
   msgbox "The Value of a : " & a
End Sub

Когда вы выполняете функцию, она производит следующий вывод.

The Value of a : 19/07/2014

Функция, которая возвращает текущую системную дату.

CDate

Функция преобразует действительное выражение даты и времени для ввода даты.

Синтаксис

cdate(date)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   Dim a As Variant
   Dim b As Variant
   
   a = CDate("Янв 01 2020")
   MsgBox ("The Value of a : " & a)
   
   b = CDate("31 Дек 2050")
   MsgBox ("The Value of b : " & b)
End Sub

Когда вы выполняете функцию, она производит следующий вывод.

The Value of a : 1/01/2020
The Value of b : 31/12/2050

Функция, которая преобразует данный вход в дату.

DateAdd

Функция, которая возвращает дату, к которой был добавлен указанный временной интервал.

Синтаксис

DateAdd(interval,number,date)

Параметр/Описание
  • Интервал — требуемый параметр. Он может принимать следующие значения.
  • d — день года
  • м — месяц года
  • y — год года
  • yyyy — year
  • w — день недели
  • ww — неделя
  • q — квартал
  • час — час
  • м — минута
  • s — секунда
  • Номер — требуемый параметр. Он может принимать как положительные, так и отрицательные параметры.
  • Дата — требуемый параметр. Вариант или литерал, представляющий дату добавления интервала.
пример
Sub Constant_demo_Click()
   ' Positive Interal
   date1 = 1 - Jan - 2013
   MsgBox ("Line 1 : " & DateAdd("yyyy", 1, date1))
   MsgBox ("Line 2 : " & DateAdd("q", 1, date1))
   MsgBox ("Line 3 : " & DateAdd("m", 1, date1))
   MsgBox ("Line 4 : " & DateAdd("y", 1, date1))
   MsgBox ("Line 5 : " & DateAdd("d", 1, date1))
   MsgBox ("Line 6 : " & DateAdd("w", 1, date1))
   MsgBox ("Line 7 : " & DateAdd("ww", 1, date1))
   MsgBox ("Line 8 : " & DateAdd("h", 1, "01-Янв-2013 12:00:00"))
   MsgBox ("Line 9 : " & DateAdd("n", 1, "01-Янв-2013 12:00:00"))
   MsgBox ("Line 10 : " & DateAdd("s", 1, "01-Янв-2013 12:00:00"))
  
   ' Negative Interval
   MsgBox ("Line 11 : " & DateAdd("yyyy", -1, date1))
   MsgBox ("Line 12 : " & DateAdd("q", -1, date1))
   MsgBox ("Line 13 : " & DateAdd("m", -1, date1))
   MsgBox ("Line 14 : " & DateAdd("y", -1, date1))
   MsgBox ("Line 15 : " & DateAdd("d", -1, date1))
   MsgBox ("Line 16 : " & DateAdd("w", -1, date1))
   MsgBox ("Line 17 : " & DateAdd("ww", -1, date1))
   MsgBox ("Line 18 : " & DateAdd("h", -1, "01-Янв-2013 12:00:00"))
   MsgBox ("Line 19 : " & DateAdd("n", -1, "01-Янв-2013 12:00:00"))
   MsgBox ("Line 20 : " & DateAdd("s", -1, "01-Янв-2013 12:00:00"))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : 27/06/1895
Line 2 : 27/09/1894
Line 3 : 27/07/1894
Line 4 : 28/06/1894
Line 5 : 28/06/1894
Line 6 : 28/06/1894
Line 7 : 4/07/1894
Line 8 : 1/01/2013 1:00:00 PM
Line 9 : 1/01/2013 12:01:00 PM
Line 10 : 1/01/2013 12:00:01 PM
Line 11 : 27/06/1893
Line 12 : 27/03/1894
Line 13 : 27/05/1894
Line 14 : 26/06/1894
Line 15 : 26/06/1894
Line 16 : 26/06/1894
Line 17 : 20/06/1894
Line 18 : 1/01/2013 11:00:00 AM
Line 19 : 1/01/2013 11:59:00 AM
Line 20 : 1/01/2013 11:59:59 AM

Функция, которая возвращает дату, к которой был добавлен указанный временной интервал.

DateDiff

Функция, которая возвращает разницу между двумя заданными временными интервалами.

Синтаксис

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

Параметр/Описание
  • Интервал — требуемый параметр. Он может принимать следующие значения.
  • d — день года
  • м — месяц года
  • y — год года
  • yyyy — year
  • w — день недели
  • ww — неделя
  • q — квартал
  • час — час
  • м — минута
  • s — секунда
  • Date1 и Date2 — Необходимые параметры.
  • Firstdayofweek — необязательный параметр. Задает первый день недели. Он может принимать следующие значения.
  • 0 = vbUseSystemDayOfWeek — настройка API поддержки национальных языков (NLS)
  • 1 = vbSunday — воскресенье
  • 2 = vbMonday — понедельник
  • 3 = vbTuesday — вторник
  • 4 = vbWednesday — среда
  • 5 = vbThursday — четверг
  • 6 = vbFriday — пятница
  • 7 = vbSaturday — суббота
  • Firstdayofyear — необязательный параметр. Указывает на первый день года. Он может принимать следующие значения.
  • 0 = vbUseSystem — настройка API поддержки национальных языков (NLS)
  • 1 = vbFirstJan1 — начать с недели, в которой происходит 1 января (по умолчанию)
  • 2 = vbFirstFourDays — Начните с недели, которая имеет не менее четырех дней в новом году
  • 3 = vbFirstFullWeek — начните с первой полной недели нового года
пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   Dim fromDate As Variant
   fromDate = "01-Янв-09 00:00:00"
   
   Dim toDate As Variant
   toDate = "01-Янв-10 23:59:00"
   
   MsgBox ("Line 1 : " & DateDiff("yyyy", fromDate, toDate))
   MsgBox ("Line 2 : " & DateDiff("q", fromDate, toDate))
   MsgBox ("Line 3 : " & DateDiff("m", fromDate, toDate))
   MsgBox ("Line 4 : " & DateDiff("y", fromDate, toDate))
   MsgBox ("Line 5 : " & DateDiff("d", fromDate, toDate))
   MsgBox ("Line 6 : " & DateDiff("w", fromDate, toDate))
   MsgBox ("Line 7 : " & DateDiff("ww", fromDate, toDate))
   MsgBox ("Line 8 : " & DateDiff("h", fromDate, toDate))
   MsgBox ("Line 9 : " & DateDiff("n", fromDate, toDate))
   MsgBox ("Line 10 : " & DateDiff("s", fromDate, toDate))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : 1
Line 2 : 4
Line 3 : 12
Line 4 : 365
Line 5 : 365
Line 6 : 52
Line 7 : 52
Line 8 : 8783
Line 9 : 527039
Line 10 : 31622340

Функция, которая возвращает разницу между двумя периодами времени.

DatePart

Функция, возвращающая определенную часть данной даты.

Синтаксис

DatePart(interval,date[,firstdayofweek[,firstweekofyear]])

Параметр/Описание
  • Интервал — требуемый параметр. Он может принимать следующие значения.
  • d — день года
  • м — месяц года
  • y — год года
  • yyyy — year
  • w — день недели
  • ww — неделя
  • q — квартал
  • час — час
  • м — минута
  • s — секунда
  • Date1 — обязательный параметр.
  • Firstdayofweek — необязательный параметр. Задает первый день недели. Он может принимать следующие значения.
  • 0 = vbUseSystemDayOfWeek — настройка API поддержки национальных языков (NLS)
  • 1 = vbSunday — воскресенье
  • 2 = vbMonday — понедельник
  • 3 = vbTuesday — вторник
  • 4 = vbWednesday — среда
  • 5 = vbThursday — четверг
  • 6 = vbFriday — пятница
  • 7 = vbSaturday — суббота
  • Firstdayofyear — необязательный параметр. Указывает на первый день года. Он может принимать следующие значения.
  • 0 = vbUseSystem — настройка API поддержки национальных языков (NLS)
  • 1 = vbFirstJan1 — начать с недели, в которой происходит 1 января (по умолчанию)
  • 2 = vbFirstFourDays — Начните с недели, которая имеет не менее четырех дней в новом году
  • 3 = vbFirstFullWeek — начните с первой полной недели нового года
пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   Dim Quarter As Variant
   Dim DayOfYear As Variant
   Dim WeekOfYear As Variant
  
   Date1 = "2013-01-15"
   Quarter = DatePart("q", Date1)
   
   MsgBox ("Line 1 : " & Quarter)
   DayOfYear = DatePart("y", Date1)
   
   MsgBox ("Line 2 : " & DayOfYear)
   WeekOfYear = DatePart("ww", Date1)
   
   MsgBox ("Line 3 : " & WeekOfYear)
   MsgBox ("Line 4 : " & DatePart("m", Date1))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : 1
Line 2 : 15
Line 3 : 3
Line 4 : 1

Функция, возвращающая указанную часть заданного значения даты ввода.

DateSerial

Функция, которая возвращает дату для заданных параметров дня, месяца и года.

Синтаксис

DateSerial(year,month,day)

Параметр/Описание
  • Год — требуемый параметр. Число от 100 до 9999 или числовое выражение. Значения от 0 до 99 интерпретируются как годы с

    1900 по 1999 год. Для всех аргументов за другой год используйте полный четырехзначный год.
  • Месяц — требуемый параметр. Он также может быть в форме выражения, которое должно варьироваться от 1 до 12.
  • День — требуемый параметр. Он также может быть в форме выражения, которое должно варьироваться от 1 до 31.
пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox(DateSerial(2013,5,10))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

10/05/2013

Функция, которая возвращает действительную дату для данного года, месяца и даты.

FormatDateTime

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

Синтаксис

FormatDateTime(date,format)

Параметр/Описание
  • Дата — требуемый параметр.
  • Формат — необязательный параметр. Значение, определяющее формат даты или времени, который будет использоваться. Он может

    принимать следующие значения.
  • 0 = vbGeneralDate — Default
  • 1 = vbLongDate — дата возврата
  • 2 = vbShortDate — Дата возврата
  • 3 = vbLongTime — возвращает время
  • 4 = vbShortTime — возвращает время
пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   d = ("2013-08-15 20:25")
   msgbox("Line 1 : " & FormatDateTime(d))
   msgbox("Line 2 : " & FormatDateTime(d,1))
   msgbox("Line 3 : " & FormatDateTime(d,2))
   msgbox("Line 4 : " & FormatDateTime(d,3))
   msgbox("Line 5 : " & FormatDateTime(d,4))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : 15/08/2013 8:25:00 PM
Line 2 : Thursday, 15 August 2013
Line 3 : 15/08/2013
Line 4 : 8:25:00 PM
Line 5 : 20:25

Функция, которая форматирует дату на основе поставляемых параметров.

IsDate

Функция, возвращающая логическое значение, независимо от того, является ли данный ввод датой.

Синтаксис

IsDate(expression)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox("Line 1 : " & IsDate("Nov 03, 1950"))
   msgbox("Line 2 : " & IsDate(#01/31/20#))
   msgbox("Line 3 : " & IsDate(#05/31/20 10:30 PM#))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : True
Line 2 : True
Line 3 : True

Функция, возвращающая логическое значение, независимо от того, является ли поставленный параметр датой.

Day

Функция «День» возвращает число от 1 до 31, которое представляет день указанной даты.

Синтаксис

Day(date)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox(Day("2013-06-30"))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

30

Функция, которая возвращает целое число от 1 до 31, которое представляет день указанной даты.

Month

Функция Month возвращает число от 1 до 12, которое представляет месяц указанной даты.

Синтаксис

Month(date)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox(Month("2013-06-30"))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

6

Функция, которая возвращает целое число от 1 до 12, которое представляет месяц указанной даты.

Year

Функция Год возвращает целое число, которое представляет год указанной даты.

Синтаксис

Year(date)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox(Year("2013-06-30"))
End sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

2013

Функция, которая возвращает целое число, которое представляет год указанной даты.

MonthName

Функция MonthName возвращает имя месяца для указанной даты.

Синтаксис

MonthName(month[,toabbreviate])

Параметр Описание
  • Месяц — требуемый параметр. Он определяет номер месяца.
  • Toabbreviate — необязательный параметр. Булевское значение, указывающее, следует ли сокращать имя месяца. Если оставить

    пустым, значение по умолчанию будет считаться False.
пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox("Line 1 : " & MonthName(01,True))
   msgbox("Line 2 : " & MonthName(01,false))
   msgbox("Line 3 : " & MonthName(07,True))
   msgbox("Line 4 : " & MonthName(07,false))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : Jan
Line 2 : January
Line 3 : Jul
Line 4 : July

Функция, которая возвращает имя определенного месяца за указанную дату.

WeekDay

Функция WeekDay возвращает целое число от 1 до 7, которое представляет день недели для указанной даты.

Синтаксис

Weekday(date[,firstdayofweek])

Параметр/Описание

    Дата — требуемый параметр. День недели вернет указанную дату.
    Firstdayofweek — необязательный параметр. Задает первый день недели. Он может принимать следующие значения.
    0 = vbUseSystemDayOfWeek — настройка API поддержки национальных языков (NLS)
    1 = vbSunday — воскресенье
    2 = vbMonday — понедельник
    3 = vbВперед — вторник
    4 = vbWednesday — среда
    5 = vbThursday — четверг
    6 = vbFriday — пятница
    7 = vbSaturday — суббота

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox("Line 1: " & Weekday("2013-05-16",1))
   msgbox("Line 2: " & Weekday("2013-05-16",2))
   msgbox("Line 3: " & Weekday("2013-05-16",2))
   msgbox("Line 4: " & Weekday("2010-02-16"))
   msgbox("Line 5: " & Weekday("2010-02-17"))
   msgbox("Line 6: " & Weekday("2010-02-18"))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1: 5
Line 2: 4
Line 3: 4
Line 4: 3
Line 5: 4
Line 6: 5

Функция, которая возвращает целое число (от 1 до 7), которое представляет день недели в течение указанного дня.

WeekDayName

Функция WeekDayName возвращает имя дня недели за указанный день.

Синтаксис
WeekdayName(weekday[,abbreviate[,firstdayofweek]])

Параметр — Описание

  • Weekday — требуемый параметр. Номер дня недели.
  • Toabbreviate — необязательный параметр. Булевское значение, указывающее, следует ли сокращать имя месяца. Если оставить

    пустым, значение по умолчанию будет считаться False.
  • Firstdayofweek — необязательный параметр. Задает первый день недели.
  • 0 = vbUseSystemDayOfWeek — настройка API поддержки национальных языков (NLS)
  • 1 = vbSunday — воскресенье
  • 2 = vbMonday — понедельник
  • 3 = vbTuesday — вторник
  • 4 = vbWednesday — среда
  • 5 = vbThursday — четверг
  • 6 = vbFriday — пятница
  • 7 = vbSaturday — суббота
пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox("Line 1 : " & WeekdayName(3))
   msgbox("Line 2 : " & WeekdayName(2,True))
   msgbox("Line 3 : " & WeekdayName(1,False))
   msgbox("Line 4 : " & WeekdayName(2,True,0))
   msgbox("Line 5 : " & WeekdayName(1,False,1))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : Tuesday
Line 2 : Mon
Line 3 : Sunday
Line 4 : Tue
Line 5 : Sunday

Функция, которая возвращает имя дня недели для указанного дня.

Now

Функция Now возвращает текущую системную дату и время.

Синтаксис

Now()

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   Dim a as Variant
   a = Now()
   msgbox("The Value of a : " & a)
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
The Value of a : 19/07/2013 3:04:09 PM

Функция, которая возвращает текущую системную дату и время.

Hour

Функция Hour возвращает число от 0 до 23, которое представляет час дня для указанной отметки времени.

Синтаксис

Hour(time)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox("Line 1: " & Hour("3:13:45 PM"))
   msgbox("Line 2: " & Hour("23:13:45"))
   msgbox("Line 3: " & Hour("2:20 PM"))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1: 15
Line 2: 23
Line 3: 14

Функция, которая возвращает целое число от 0 до 23, которое представляет часовую часть заданного времени.

Minute

Функция Minute возвращает число от 0 до 59, которое представляет минуту часа для указанной отметки времени.

Синтаксис

Minute(time)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox("Line 1: " & Minute("3:13:45 PM"))
   msgbox("Line 2: " & Minute("23:43:45"))
   msgbox("Line 3: " & Minute("2:20 PM"))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1: 13
Line 2: 43
Line 3: 20

Функция, возвращающая целое число от 0 до 59, которое представляет минутную часть данного времени.

Second

Функция возвращает число от 0 до 59, которое представляет вторую часть часа для указанной отметки времени.

Синтаксис

Second(time)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox("Line 1: " & Second("3:13:25 PM"))
   msgbox("Line 2: " & Second("23:13:45"))
   msgbox("Line 3: " & Second("2:20 PM"))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1: 25
Line 2: 45
Line 3: 0

Функция, возвращающая целое число от 0 до 59, которое представляет собой секундную часть данного времени.

Time

Функция времени возвращает текущее системное время.

Синтаксис

Time()

пример
Sub Constant_demo_Click()
   msgbox("Line 1: " & Time())
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1: 3:29:15 PM

Функция, которая возвращает текущее системное время.

Timer

Функция таймера возвращает число секунд и миллисекунд с 12:00.

Синтаксис

Timer()

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox("Time is : " & Now())
   msgbox("Timer is: " & Timer())
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Time is : 19/07/2013 3:45:53 PM
Timer is: 56753.4

Функция, которая возвращает число секунд и миллисекунд с 12:00.

TimeSerial

Функция TimeSerial возвращает время для указанных часов, минут и вторых значений.

Синтаксис

TimeSerial(hour,minute,second)

Параметр/Описание
  • Hour — обязательный параметр, который представляет собой целое число от 0 до 23 или любое числовое выражение.
  • Minute — обязательный параметр, который представляет собой целое число от 0 до 59 или любое числовое выражение.
  • Second — обязательный параметр, который представляет собой целое число от 0 до 59 или любое числовое выражение.
пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click()
   msgbox(TimeSerial(20,1,2))
   msgbox(TimeSerial(0,59,59))
   msgbox(TimeSerial(7*2,60/3,15+3))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

8:01:02 PM
12:59:59 AM
2:20:18 PM

Функция, которая возвращает время для конкретного ввода часа, минуты и секунды.

TimeValue

Функция TimeValue преобразует заданную входную строку в допустимое время.

Синтаксис

TimeValue(StringTime)

пример

Добавьте кнопку и добавьте следующую функцию.

Sub Constant_demo_Click() 
   msgbox(TimeValue("20:30"))
   msgbox(TimeValue("5:15"))
   msgbox(TimeValue("2:30:58"))
End Sub

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

8:30:00 PM
5:15:00 AM
2:30:58 AM

Функция, которая преобразует входную строку в формат времени.

 С уважением, авторы сайта Компьютерапия

Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

Поле ввода в VBA Excel

В этой статье Вы научитесь создавать поле ввода в VBA Excel — InputBox, в которое можно вносить различную информацию для вычислений.

Функция InputBox предлагает пользователям ввести значения. После ввода значений, если пользователь нажимает кнопку OK или нажимает ENTER на клавиатуре, функция InputBox возвращает текст в текстовое поле. Если пользователь нажмет кнопку «Отмена», функция вернет пустую строку («»).

Синтаксис

InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])

Параметр Описание

  • Запрос — требуемый параметр. Строка, отображаемая в виде сообщения в диалоговом окне. Максимальная длина приглашения — около 1024 символов. Если сообщение распространяется более чем на одну строку, то строки могут быть разделены с использованием символа возврата каретки (Chr (13)) или символа перевода строки (Chr (10)) между каждой строкой.
  • Заголовок — необязательный параметр. Строковое выражение отображается в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.
  • По умолчанию — необязательный параметр. Текст по умолчанию в текстовом поле, которое пользователь хотел бы отобразить.
  • XPos — необязательный параметр. Положение оси X представляет собой приблизительное расстояние от левой стороны экрана по горизонтали. Если оставить поле пустым, поле ввода будет располагаться по горизонтали.
  • YPos — необязательный параметр. Положение оси Y представляет собой приблизительное расстояние от левой стороны экрана по вертикали. Если оставить пустым, поле ввода будет вертикально центрировано.
  • Файл справки — необязательный параметр. Строковое выражение, которое идентифицирует файл справки, который будет использоваться для предоставления контекстно-зависимой справки для диалогового окна.
  • context — Необязательный параметр. Числовое выражение, которое идентифицирует номер контекста справки, присвоенный автору справки, в соответствующий раздел справки. Если контекст предоставлен, также должен быть предоставлен справочный файл.

пример

Вычислим площадь прямоугольника, получив значения от пользователя во время выполнения с помощью двух полей ввода (один для длины и один для ширины).

Function findArea()
   Dim Length As Double
   Dim Width As Double
   
   Length = InputBox("Введите длину ", "Введите число")
   Width = InputBox("Введите ширину", "Введите число")
   findArea = Length * Width
End Function

Поле ввода InputBox по шагам

Шаг 1 — Чтобы выполнить то же самое, вызовите с помощью имени функции и нажмите Enter, как показано на следующем снимке экрана.

Шаг 2 — После выполнения отображается первый поле ввода (длина). Введите значение в поле ввода.

Шаг 3 — После ввода первого значения отображается второе поле ввода (ширина).

Шаг 4 — После ввода второго номера нажмите кнопку OK. Область отображается, как показано на следующем снимке экрана.

 С уважением, авторы сайта Компьютерапия

Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

Excel vba format функция — Вэб-шпаргалка для интернет предпринимателей!

Возвращает значение типа Variant ( String), которое содержит выражение, отформатированное в соответствии с указаниями, содержащимися в выражении формата.

Об Возникла проблема с использованием этой функции. Последний понедельник в некоторых годовых годах может быть возвращен в неделю 53, когда она должна быть неделей 1. Дополнительные сведения и временное решение можно найти в статье функции Format и datepart могут возвращать неверный номер недели для последнего месяца в году.

Format( выражение [ , формат ] [ , первый_день_недели ] [ , первая_неделя_года ] )

Функция Format имеет следующие аргументы:

Обязательный аргумент. Любое допустимое выражение.

Необязательный. Допустимое именованное или определяемое пользователем выражение формата.

Необязательный. Константа, задающая первый день недели.

Необязательный аргумент. Константа, задающая первую неделю года.

Аргумент Format может использовать разнообразные параметры, в зависимости от типа данных аргумента Expression . Дополнительные сведения см. в статьях, указанных в таблице ниже.

Аргумент первый_день_недели может принимать следующие значения:

Используются параметры API NLS.

Воскресенье (по умолчанию)

Аргумент первая_неделя_года может принимать следующие значения:

Используются параметры API NLS.

Начинается с недели, на которую приходится 1 января (по умолчанию).

Первой неделей считается та, которая содержит хотя бы четыре дня нового года.

Первой неделей считается первая полная неделя года.

Используйте стандартные именованные числовые форматы или создайте пользовательские числовые форматы.

Значения даты и времени

Используйте стандартные именованные форматы даты и времени или создайте пользовательские форматы даты и времени.

Серийные номера даты и времени

Используйте форматы даты и времени или числовые форматы.

Создайте пользовательские форматы строк.

Если вы попытаетесь отформатировать число без задания формата, функция Format будет работать аналогично функции Str, хотя и с поддержкой международных форматов. Однако положительные числа, отформатированные как строки с использованием функции Format, не будут включать начальный пробел, зарезервированный для знака значения; с другой стороны, в случае преобразования с помощью функции Str начальный пробел сохранится.

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

Примечание: Если для свойства Calendar задано значение Gregorian, а для аргумента формат указано форматирование даты, предоставленное выражение должно иметь тип Gregorian. Если для свойства Calendar в Visual Basic задано значение Hijri, выражение должно иметь тип Hijri.

Если используется григорианский календарь, значение символов выражения формат не изменяется. Если используется календарь Хиджра, все символы формата даты (например, dddd, mmmm, yyyy) имеют то же значение, но применяются к календарю Хиджра. Символы формата остаются английскими; символы, отображаемые в текстовом виде (например, AM и PM), выводят строку (на английском или арабском языке), связанную с этим символом. Диапазон некоторых символов при использовании календаря Хиджра изменяется.

Отображает полное название месяца (у названий месяцев Хиджра нет сокращений).

Примеры

Использование функции Format в выражении. Функцию Format можно использовать в любых выражениях. Можно, например, использовать ее в запросе в виде части псевдонима поля или в свойстве Данные текстового поля в форме или отчете. Ниже представлен пример выражения, которое можно использовать в свойстве отчета Фильтр, чтобы вывести только записи, относящиеся к прошлой неделе.

В этом примере в источнике записей отчета есть поле «Дата», содержащее дату изменения каждой конкретной записи и использующееся в отчете. Во время выполнения отчета результаты фильтруются и отображаются только те записи, в которых значение недели в поле «Дата» (Format([Дата],»ww»)) равно прошлой неделе (Format(Now(),»ww»)-1).

Использование функции Format в коде VBA

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере показаны различные варианты использования функции Format для форматирования значений с помощью предварительно заданных форматов и форматов, определенных пользователем. Для разделителя даты ( /), разделителя времени ( 🙂 и литералов AM/ PM фактические отформатированные выходные данные, отображаемые системой, зависят от ее региональных параметров. В среде разработки для отображения времени и даты используется краткий формат времени и даты, заданный в региональных параметрах программы. При отображении в работающей программе применяется краткий формат даты и времени из региональных параметров системы, который может отличаться от региональных параметров программы. В этом примере используется локаль «Английский (США)».

MyTime и MyDate отображаются в среде разработки с использованием текущих системных параметров для краткого формата времени и даты.

Использование функции Format с пустыми строками

В Microsoft Access версии 2,0 и более ранних версиях можно использовать функцию Format , чтобы возвращать одно значение для пустая строка, а другое — для значения. Например, вы можете использовать выражение формата, например следующее, с функцией Format , чтобы вернуть соответствующее строковое значение из кода:

В Microsoft Access 97 и более поздних версиях необходимо отдельно проверить, не равно ли значение Null, а затем вернуть соответствующее значение с учетом результата. Например, можно использовать функцию IIf в выражении с функцией Format:

varX = IIf(IsNull(varStrX),»Null», Format(varStrX, «@;ZLS»))

Данное изменение применимо только тогда, когда функция Format используется для форматирования строк в зависимости от того, пустая ли это строка или строка со значением Null. Другие выражения форматирования, используемые с функцией Format, действуют так же, как в предыдущих версиях.

При преобразовании базы данных из Microsoft Access 2.0 или более ранней версии в Microsoft Access 2002 или более поздней версии необходимо изменить текст программы так, чтобы проверка для случая Null выполнялась отдельно.

Удаление ненужных символов

Зачастую строки в программе содержат ненужные символы пробелов в конце или в начале строки, которые необходимо удалить, т.к. посторонние начальные или конечные пробелы в строке могут вызвать «неполадки» в работе программы.

В VBA имеются три функции, предназначенные для удаления начальных и конечных пробелов из строки: LTrim, RTrim, Trim. Следует иметь ввиду, что эти функции на самом деле не изменяют исходную строку, а возвращают копию строки с удаленными лишними пробелами.

Определение длины строки

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

Следует быть внимательными со строками фиксированной длины. Поскольку строка фиксированной длины имеет всегда одну и ту же длину, функция Len всегда возвращает объявленную длину строки, независимо от фактической длины строки. Например, если в строковой переменной фиксированной длины StrokeName, имеющей длину 15 символов, фактически находится слово «солнце», то функция Len(StrokeName) возвратит результат 15. Чтобы в таком случае узнать фактическую длину строки (в нашем случае — 6), необходимо использовать следующую комбинацию функций: Len(Trim(StrokeName)).

Сравнение и поиск строк

В VBA имеются две функции, помогающих сравнивать строки: StrComp, InStr.

Функция StrComp

StrComp (String1, String2 [, Compare])

String1, String2 — любые два строковых выражения, которые необходимо сравнивать.

Compare — необязательный аргумент, может быть любой из следующих предопределенных констант (если он опускается, то используется текущая установка Option Compare):

  • vbBinaryCompare — бинарное сравнение двух строк;
  • vbTextCompare — текстовое сравнение двух строк;
  • vbDatabaseCompare — используется только в Microsoft Access.

При выполнении StrComp возвращается одно из следующих значений:

  • -1, если String1 меньше String2;
  • 0, если String1 и String2 равны;
  • 1, если String1 больше String2.

В вышеприведенном листинге в текстовом режиме сравниваются две строки: «Строка по умолчанию» и » Строка по умолчанию». Результат сравнения = 1, т.е. «Строка по умолчанию» больше, чем » Строка по умолчанию».

Поэкспериментируйте с разнообразными строками для лучшего понимания работы функции StrComp.

Функция InStr

Функция InStr дает возможность определить, содержит ли одна строка другую строку.

StrComp ([Start, ] String1, String2 [, Compare])

String1, String2 — любые допустимые строковые выражения. Функция проверяет содержится ли String1 в String2.

Compare — необязательный аргумент, может быть любой из следующих предопределенных констант (если он опускается, то используется текущая установка Option Compare):

  • vbBinaryCompare — бинарное сравнение двух строк;
  • vbTextCompare — текстовое сравнение двух строк;
  • vbDatabaseCompare — используется только в Microsoft Access.

Start — необязательный аргумент, является численным выражением и указывает положение символа в String1, с которого должна начинаться проверка.

InStr возвращает число, обозначающее положение символа в String1, где было обнаружено String2. Если InStr не находит String2 в String1, то возвращается 0. Если String1 (или String2) имеет значение Null, то функция также возвращает Null.

Разбиение строки

Иногда возникает необходимость разбиения строки на составляющие части. В VBA эту задачу решают три функции: Left, Right, Mid.

Функция Left

Left (String, Length)

String — любое допустимое строковое выражение.

Length — любое численное значение.

Функция возвращает копию String, начиная с первого символа и включая количество символов, заданных с помощью Length. Если Length является числом, большим, чем фактическая длина String, то возвращается все строковое выражение String.

Функция Right

Right (String, Length)

String — любое допустимое строковое выражение.

Length — любое численное значение.

Функция возвращает копию String, начиная с последнего символа и включая справа налево количество символов, заданных с помощью Length. Если Length является числом, большим, чем фактическая длина String, то возвращается все строковое выражение String. Функция Right всегда копирует символы от конца строки к ее началу.

Функция Mid

Mid (String, Start, [, Length])

String — любое допустимое строковое выражение.

Length, Start — любые численные значения.

Функция Mid возвращает копию String, начиная с положения символа в String, задаваемого с помощью аргумента Start . Необязательный аргумент Length определяет количество копируемых в Mid символов из String. Если Start содержит большее число, чем фактическая длина String, то возвращается пустая строка.

Символы, которые нельзя ввести с клавиатуры

Зачастую случается, что надо ввести какой-либо символ, для которого отсутствует клавиша на клавиатуре (например, символ копирайта). Другая ситуация — когда надо в строку включить служебный символ VBA (самый распространенный случай — включение двойных кавычек).

Чтобы включить в строку символы, которые невозможно ввести с клавиатуры, или которые имеют особое значение для VBA, используется функция Chr.

Charcode — любое численное выражение, являющееся допустимым кодом для набора символов, используемого компьютером. Должен быть целым числом от 0 до 255.

Функция Chr принимает код отдельного символа в качестве аргумента и возвращает строку, содержащую соответствующий этому коду символ. Данная функция использована в вышеприведенных листингах для перевода строки при выводе сообщения на экран Chr (13).

Поскольку символы, используемые для начала новой строки, являются очень важными при форматировании сообщений и других строковых данных, которыми манипулируют VBA-процедуры, имеется несколько предопределенных констант для этих символов, чтобы не было необходимости использовать функцию Chr:

  • vbCr — символ возврата каретки. Эквивалент Chr(13)
  • vbLf — символ смещения на одну строку. Эквивалент Chr(10)
  • vbCrLf — символ возврата каретки+смещения на одну строку. Эквивалент Chr(13)+ Chr(10)
  • vbTab — символ табуляции. Эквивалент Chr(9)

Для просмотра списка код-символ надо открыть справочную систему VBA и по запросу «character sets» будет представлена соответствующая таблица.

Форматирование значений данных

Очень часто формат данных на выходе программы по тем или иным причинам нас не совсем устраивает. Эту задачу решает функция Format.

VBA-функция Format идентична функции Format в Excel и использует те же символы-заполнители форматирования данных.

Format (Expression [, Format[, Firstdayofweek [, Firstweekofyear]]])

Expression — любое допустимое выражение (обязательный аргумент).

Format — допустимое выражение именованного или определенного пользователем формата.

Firstdayofweek — константа, которая определяет первый день недели.

Firstweekofyear — константа, которая определяет первую неделю года.

Чтобы использовать функцию Format, надо либо задать предопределенный формат, либо создать образ определенного формата, используя символы-заполнители.

Именованные форматы для использования с функцией Format

Именованный формат Действие
General Date Форматирует информацию о дате и времени в последовательное число даты, используя установки формата даты и времени для данного компьютера.
Long Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Long-формата даты.
Medium Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Medium-формата даты.
Short Date Форматирует в последовательной дате только часть, содержащую дату, используя установки компьютера для Short-формата даты.
Long Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Long-формата времени.
Medium Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Medium -формата времени.
Short Time Форматирует в последовательной дате только часть, содержащую время, используя установки компьютера для Short -формата времени.
General Number Форматирует число в строку без каких-либо особых символов.
Currency Форматирует число с символом денежной единицы, разделителем тысяч и только двумя десятичными разрядами.
Fixed Форматирует число так, чтобы всегда была, по крайней мере, одна цифра перед десятичным разделителем и, по крайней мере, две цифры после него.
Standart Форматирует число с разделителем тысяч так, чтобы была, по крайней мере, одна цифра перед десятичным разделителем и, по крайней мере, две цифры после него.
Percent Форматирует число как процентное отношение, умножая его на 100 и добавляя символ процента.
Scientific Форматирует число в обычный экспоненциальный формат.
Yes/No Возвращается строка «Да» если форматируемое число ненулевое, иначе — «Нет».
True/False Возвращается строка «Истина» если форматируемое число ненулевое, иначе — «Ложь».
On/Off Возвращается строка «Вкл» если форматируемое число ненулевое, иначе — «Выкл».

Символы-заполнители для создания пользовательских форматов

Символ-заполнитель Действие (в качестве примера используется число 1234.45)
Цифровой символ, отображает цифру, если таковая находится в этой позиции, или 0, если — нет. Можно использовать символ 0 для отображения начальных нулей для целых чисел и конечных нулей в десятичных дробях: 00000.000 отображает 01234.450
# Цифровой символ, отображает цифру, если таковая находится в этой позиции, иначе — не отображает ничего. Символ-заполнитель # эквивалентен 0, кроме того, что начальные и конечные нули не отображаются: #####.### отображает 1234.45
$ Отображает знак доллара: $###,###.00 отображает $1 234,45
. Десятичный символ-заполнитель, отображает десятичную точку в обозначенной позиции в строке символов-заполнителей 0: #.##.## отображает 1234.45
% Символ процента, умножает значение на 100 и добавляет знак процента в позицию, указанную символами-заполнителями 0:#.#0.00% отображает число 0.12345 как 12.35% (происходит округление)
, Разделитель тысяч, добавляет запятые как разделители тысяч в строках символов-заполнителей 0 и #: ###,###,###.00 отображает 1 234,45
E- e- Отображает значение в экспоненциальном формате со знаком порядка только для отрицательных значений: #.####E-00 отображает 1.23445Е03
E+ e+ Отображает значение в экспоненциальном формате со знаком порядка как для отрицательных, так и для положительных значений: #.####E+00 отображает 1.23445Е+03
/ Отделяет день, месяц и год для форматирования значений дат.
m Указывает, как отображать месяцы в датах: m отображает 1, mm — 01, mmm — янв, mmmm — Январь
d Указывает, как отображать дни в датах: d отображает 1, dd — 01, ddd — Вс, dddd — воскресенье
y Отображает день года как число от 1 до 366
yy Указывает, как отображать годы в датах: yy — 66, yyyy — 1966
q Отображает квартал года как число от 1 до 4
w Отображает день недели как число (1 — воскресенье)
ww Отображает неделю года как число от 1 до 54
: Отделяет часы, минуты и секунды в значениях формата времени: hh:mm:ss — 01:01:01, h:m:s — 1:1:1
h Указывает, как отображать часы: hh — 01, h — 1
m Указывает, как отображать минуты: mm — 01, m — 1
s Указывает, как отображать секунды: ss — 01, s — 1
AM/PM Отображает время в 12-часовом формате времени с добавленными АМ или РМ
@ Символьный заполнитель, отображает пробел, если не имеется соответствующего символа в форматируемой строке.
Отображает все символы в верхнем регистре.
> Отображает все символы в нижнем регистре.

В начало страницы

В начало страницы

Description

The VBA Format function applies a specified format to an expression and returns the result as a string.

The syntax of the function is:

Where the function arguments are:

The expression that you want to format.

[Format] —

An optional argument specifying the format that is to be applied to the Expression .

This can be a user-defined format or one of the predefined named formats listed below:

Predefined Date Formats:

Format Description General Date — Displays a date as defined in your system’s General Date setting.
If a date only, no time is displayed; If a time only, no date is displayed. Long Date — Displays a date as defined in your system’s Long Date settings. Medium Date — Displays a date as defined in your system’s Medium Date settings. Short Date — Displays a date as defined in your system’s Short Date settings. Long Time — Displays a time as defined in your system’s Long Time settings. Medium Time — Displays a time as defined in your system’s Medium Time settings. Short Time — Displays a time as defined in your system’s Short Time settings.

Predefined Number Formats:

Format Description
General Number Displays a number as it is entered.
Currency Displays a number with a currency symbol, using the thousand separator and decimal places, as defined in your system’s currency setting.
Euro Displays a number as a currency, with the euro currency symbol.
Fixed Displays at least one digit to the left of the decimal place and follows the system settings for the number of decimal places to the right of the decimal place.
Standard Displays the thousand separator and follows the standard system settings for the number of digits displayed at either side of the decimal place.
Percent Displays a number multiplied by 100 and followed by the percent symbol; The format follows the standard system settings for the number of digits displayed at either side of the decimal place.
Scientific Displays a number using scientific notation.
Yes/No Displays No if the number is equal to zero or Yes otherwise.
True/False Displays False if the number is equal to zero or True otherwise.
On/Off Displays Off if the number is equal to zero or On otherwise.

If the [Format] argument is omitted, the function uses the system ‘General’ format for the Expression data type.

[FirstDayOfWeek] —

An optional FirstDayOfWeek enumeration value, specifying the weekday that should be used as the first day of the week.

This can have any of the followi

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

(Visual Basic для приложений)

  • 16 минут на чтение

В этой статье

Возвращает вариант (строка) , содержащий выражение, отформатированное в соответствии с инструкциями, содержащимися в выражении формата.

Примечание

Заинтересованы в разработке решений, расширяющих возможности Office на нескольких платформах? Ознакомьтесь с новой моделью надстроек Office.Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любые технологии веб-программирования, такие как HTML5, JavaScript, CSS3 и XML.

Синтаксис

Формат ( Выражение , [ Формат ], [ FirstDayOfWeek ], [ FirstWeekOfYear ])

Синтаксис функции Format состоит из этих частей.

Деталь Описание
Выражение Обязательно.Любое допустимое выражение.
Формат Необязательно. Допустимое именованное или определяемое пользователем выражение формата.
Первый день недели Необязательно. Константа, указывающая первый день недели.
Первая неделя года Необязательно. Константа, определяющая первую неделю года.

Настройки

Аргумент firstdayofweek имеет эти настройки.

Константа Значение Описание
vbUseSystem 0 Использовать настройку NLS API.
vbВоскресенье 1 Воскресенье (по умолчанию)
vbПонедельник 2 Понедельник
vb Вторник 3 вторник
vbСреда 4 среда
vb Четверг 5 Четверг
vbПятница 6 Пятница
vbСуббота 7 суббота

Аргумент firstweekofyear имеет эти настройки.

Константа Значение Описание
vbUseSystem 0 Использовать настройку NLS API.
vbFirstJan1 1 Начать с недели, в которую приходится 1 января (по умолчанию).
vbFirstFourDays 2 Начните с первой недели, в которой не менее четырех дней в году.
vbFirstFullWeek 3 Начать с первой полной недели года.

Примечания

Отформатировать Сделай это
Номера Используйте предварительно определенные именованные числовые форматы или создавайте определенные пользователем числовые форматы.
Даты и время Используйте предопределенные именованные форматы даты / времени или создавайте определяемые пользователем форматы даты / времени.
Дата и время серийные номера Используйте форматы даты и времени или числовые форматы.
Струны Создайте свои собственные определяемые пользователем строковые форматы.

Формат обрезает формат до 257 символов.

Если вы попытаетесь отформатировать число без указания формата , Формат предоставляет функциональные возможности, аналогичные функции Str , хотя она известна во всем мире.Однако положительные числа, отформатированные как строки с использованием Format , не включают начальное пространство, зарезервированное для знака значения; Преобразованные с использованием Str сохраняют лидирующую позицию.

Если вы форматируете нелокализованную числовую строку, вы должны использовать определенный пользователем числовой формат, чтобы получить желаемый вид.

Примечание

Если для свойства Calendar установлено значение по григорианскому календарю и формат задает форматирование даты, предоставленное выражение должно быть по григорианскому календарю .Если для параметра свойства Visual Basic Calendar установлено значение Hijri , предоставленное выражение должно быть Hijri .

Если календарь григорианский, значение символов выражения формата не изменилось. Если календарь — хиджра, все символы формата даты (например, дддд , мммм , гггг ) имеют то же значение, но применимы к календарю хиджры. Символы формата остаются на английском языке; символы, которые приводят к отображению текста (например, AM и PM), отображают строку (английскую или арабскую), связанную с этим символом.Диапазон некоторых символов меняется, когда календарь хиджры.

Символы даты

Символ Диапазон
г 1-31 (День месяца, без нуля в начале)
дд 01-31 (День месяца с нулем в начале)
Вт 1-7 (День недели, начиная с воскресенья = 1)
ww 1-53 (неделя года, без нуля в начале; первая неделя начинается 1 января)
м 1–12 (месяц года, без нуля в начале, начиная с января = 1)
мм 01–12 (месяц года с нулем в начале, начиная с января = 01)
ммм Отображает сокращенные названия месяцев (названия месяцев по хиджре не имеют сокращений)
мм мм Отображает полные названия месяцев
y 1-366 (День года)
гг 00-99 (последние две цифры года)
гггг 100-9999 (год из трех или четырех цифр)

Временные символы

Символ Диапазон
ч 0–23 (1–12 с добавлением «AM» или «PM») (час дня, без нуля в начале)
hh 00–23 (01–12 с добавлением «AM» или «PM») (Час дня, с начальным нулем)
n 0-59 (Минута часа без нуля в начале)
нн 00-59 (Минута часа с нулем в начале)
м 0-59 (Минута часа без нуля в начале).Только если ему предшествует h или hh
мм 00-59 (Минута часа с нулем в начале). Только если ему предшествует h или hh
с 0-59 (секунды минуты, без нуля в начале)
н.с. 00-59 (Секунды минуты, с ведущим нулем)

Пример

В этом примере показаны различные варианты использования функции Format для форматирования значений с использованием как именованных форматов, так и пользовательских форматов.Для разделителя даты (/), разделителя времени (: ) и литерала AM / PM фактический форматированный вывод, отображаемый вашей системой, зависит от настроек локали, на которых выполняется код. Когда время и даты отображаются в среде разработки, используются краткий формат времени и краткий формат даты локали кода. При отображении при запущенном коде используются краткий формат времени и краткий формат даты языкового стандарта системы, который может отличаться от языкового стандарта кода. В этом примере английский / U.Предполагается С. MyTime и MyDate отображаются в среде разработки с использованием текущих системных настроек короткого времени и короткой даты.

  Dim MyTime, MyDate, MyStr
MyTime = # 17: 04: 23 #
MyDate = # 27 января 1993 г. #

'Возвращает текущее системное время в определенном системой долгом формате.
MyStr = Format (Время; «Долгое время»)

'Возвращает текущую системную дату в определяемом системой длинном формате даты.
MyStr = Format (Дата, «Длинная дата»)

MyStr = Format (MyTime, "h: m: s") 'Возвращает "17: 4: 23".MyStr = Format (MyTime, «чч: мм: сс am / pm») 'Возвращает «17:04:23 pm».
MyStr = Format (MyTime, «чч: мм: сс AM / PM») 'Возвращает «17:04:23 PM».
MyStr = Format (MyDate, «дддд, ммм д гггг») 'Возвращает «Среда, 27 января 1993 г.».
'Если формат не указан, возвращается строка.
MyStr = Format (23) 'Возвращает «23».

'Пользовательские форматы.
MyStr = Format (5459.4, "##, ## 0.00") 'Возвращает "5,459,40".
MyStr = Format (334.9, "### 0.00") 'Возвращает "334.90".
MyStr = Format (5, "0.00%") 'Возвращает "500.00%".MyStr = Format ("HELLO", "<") 'Возвращает "hello".
MyStr = Format ("This is it", ">") 'Возвращает "THIS IS IT".
  

Различные форматы для разных числовых значений

Выражение пользовательского формата для чисел может иметь от одного до четырех разделов, разделенных точкой с запятой. Если аргумент формата содержит один из именованных числовых форматов, допускается только один раздел.

Если вы используете Результат
Только одна секция Выражение формата применяется ко всем значениям.
Две секции Первый раздел относится к положительным значениям и нулям, второй — к отрицательным значениям.
Три секции Первый раздел применяется к положительным значениям, второй — к отрицательным значениям, а третий — к нулям.
Четыре секции Первый раздел применяется к положительным значениям, второй — к отрицательным, третий — к нулям и четвертый — к нулевым значениям.
  "$ #, ## 0; ($ #, ## 0)"
  

Если вы поставите точки с запятой без ничего между ними, отсутствующий раздел будет напечатан с использованием формата положительного значения.Например, следующий формат отображает положительные и отрицательные значения, используя формат из первого раздела, и отображает «Ноль», если значение равно нулю.

  "$ #, ## 0 ;; \ Z \ e \ r \ o"
  

Различные форматы для разных строковых значений

Выражение формата для строк может состоять из одного или двух разделов, разделенных точкой с запятой (; ).

Если вы используете Результат
Только одна секция Формат применяется ко всем строковым данным.
Две секции Первый раздел применяется к строковым данным, второй — к нулевым значениям и строкам нулевой длины («»).

Именованные форматы даты / времени

В следующей таблице указаны имена предварительно определенных форматов даты и времени.

Название формата Описание
Общая дата Отображение даты и / или времени, например, 03.04.93 17:34.Если дробной части нет, отобразите только дату, например, 4/3/93. Если нет целой части, отображать только время, например 17:34. Отображение даты определяется настройками вашей системы.
Длинная дата Отображение даты в соответствии с длинным форматом даты вашей системы.
Средняя дата Отображение даты в среднем формате даты, соответствующем языковой версии ведущего приложения.
Краткая дата Отображение даты в кратком формате даты вашей системы.
Долгое время Отображение времени в формате долгого времени вашей системы; включает часы, минуты, секунды.
Среднее время Отображение времени в 12-часовом формате с использованием часов и минут и обозначения AM / PM.
Кратковременное Отображение времени в 24-часовом формате, например 17:45.

Именованные числовые форматы

В следующей таблице указаны имена предварительно определенных числовых форматов.

Название формата Описание
Общий номер Отображение числа без разделителя тысяч.
Валюта Отображение числа с разделителем тысяч, если необходимо; отображать две цифры справа от десятичного разделителя. Вывод основан на настройках локали системы.
Фиксированный Отображение как минимум одной цифры слева и двух цифр справа от десятичного разделителя.
Стандартный Отображение числа с разделителем тысяч, минимум одной цифрой слева и двумя цифрами справа от десятичного разделителя.
Процент Отображаемое число, умноженное на 100, со знаком процента (% ), добавленным справа; всегда отображать две цифры справа от десятичного разделителя.
Научный Используйте стандартную научную запись.
Да / Нет Отображать Нет, если число 0; в противном случае — Да.
Верно / Неверно Отображение Ложь , если число 0; в противном случае отобразить True .
Вкл. / Выкл. Дисплей выключен, если число равно 0; в противном случае — Вкл.

Пользовательские строковые форматы

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

Персонаж Описание
@ Символ-заполнитель. Отобразите символ или пробел. Если в строке есть символ в позиции, где в строке формата появляется символ at ( @ ), отобразите его; в противном случае отобразите пробел в этой позиции. Заполнители заполняются справа налево, если в строке формата нет символа восклицательного знака (! ).
и Символ-заполнитель.Показать символ или ничего. Если в строке есть символ в позиции, где появляется амперсанд ( и ), отобразите его; в противном случае ничего не отображать. Заполнители заполняются справа налево, если в строке формата нет символа восклицательного знака (! ).
< Принудительно строчные. Отображать все символы в нижнем регистре.
> Принудительно заглавные. Отображать все символы в верхнем регистре.
! Принудительное заполнение заполнителей слева направо. По умолчанию заполнители заполняются справа налево.

Пользовательские форматы даты и времени

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

Персонаж Описание
(: ) Разделитель времени. В некоторых регионах для обозначения разделителя времени могут использоваться другие символы.Разделитель времени разделяет часы, минуты и секунды при форматировании значений времени. Фактический символ, используемый в качестве разделителя времени в форматированных выводах, определяется настройками вашей системы.
(/) Разделитель даты. В некоторых регионах для обозначения разделителя даты могут использоваться другие символы. Разделитель даты разделяет день, месяц и год при форматировании значений даты. Фактический символ, используемый в качестве разделителя даты в форматированных выводах, определяется настройками вашей системы.
с Отображение даты как ddddd и времени как ttttt в указанном порядке. Отображать только информацию о дате, если в серийном номере даты нет дробной части; отображать только информацию о времени, если нет целой части.
г Отображение дня в виде числа без нуля в начале (1–31).
dd Отображение дня в виде числа с нулем в начале (01–31).
ddd Отображение дня в сокращенном виде (вс – сб).Локализованный.
дддд Отображение дня как полного имени (воскресенье – суббота). Локализованный.
ддддд Отображение даты в виде полной даты (включая день, месяц и год), отформатированной в соответствии с настройками краткого формата даты вашей системы. Краткий формат даты по умолчанию — м / д / гг .
дддддд Отображение серийного номера даты в виде полной даты (включая день, месяц и год), отформатированной в соответствии с настройкой длинной даты, распознаваемой вашей системой.Формат длинной даты по умолчанию — мммм дд, гггг .
w Отображение дня недели в виде числа (от 1 для воскресенья до 7 для субботы).
ww Отображение недели года в виде числа (1–54).
м Отображение месяца в виде числа без нуля в начале (1–12). Если m следует сразу за h или hh , отображается минута, а не месяц.
мм Отображение месяца в виде числа с нулем в начале (01–12). Если m следует сразу за h или hh , отображается минута, а не месяц.
ммм Отображение месяца в виде сокращения (январь – декабрь). Локализованный.
мм мм Показать месяц как полное название месяца (январь – декабрь). Локализованный.
q Отображение квартала года в виде числа (1–4).
y Отображение дня года в виде числа (1–366).
гг Отображение года в виде двухзначного числа (00–99).
гггг Отображение года в виде 4-значного числа (100–9999).
ч Отображение часа в виде числа без нуля в начале (0–23).
чч Отображение часа в виде числа с нулем в начале (00–23).
n Отображение минут в виде числа без нуля в начале (0–59).
nn Отображение минут в виде числа с нулем в начале (00–59).
с Отображение секунды в виде числа без нуля в начале (0–59).
н.с. Отображение секунды в виде числа с нулем в начале (00–59).
тттт Отображение времени как полного времени (включая часы, минуты и секунды), отформатированного с использованием разделителя времени, определенного форматом времени, распознаваемым вашей системой.Ведущий ноль отображается, если выбран вариант ведущего нуля и время до 10:00 A.M. или после полудня Формат времени по умолчанию — ч: мм: сс .
AM / PM Используйте 12-часовой формат и отображайте AM в верхнем регистре с любым часом до полудня; отображать PM в верхнем регистре с любым часом между полуднем и 23:59.
до / после Используйте 12-часовой формат и отображайте AM в нижнем регистре с любым часом до полудня; отображать строчные буквы PM с любым часом между полуднем и 23:59 P.М.
А / П Используйте 12-часовой формат и отображайте букву A в верхнем регистре с любым часом до полудня; отображать букву P в верхнем регистре с любым часом между полуднем и 23:59.
а / п Используйте 12-часовую шкалу и отображайте строчную букву A с любым часом до полудня; отображать строчную букву P в любом часе между полуднем и 23:59.
AMPM Используйте 12-часовой формат времени и отобразите строковый литерал AM, как определено вашей системой, с любым часом до полудня; отображать строковый литерал PM, как определено вашей системой, с любым часом между полуднем и 11:59 P.M. AMPM может быть как в верхнем, так и в нижнем регистре, но регистр отображаемой строки соответствует строке, определенной настройками вашей системы. Формат по умолчанию — AM / PM. Если ваша система настроена на 24-часовой формат времени, обычно используется строка нулевой длины.

Пользовательские числовые форматы

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

Персонаж Описание
Нет Отображение числа без форматирования.
( 0 ) Цифра-заполнитель. Отобразите цифру или ноль. Если в выражении есть цифра в позиции, где в строке формата стоит 0, отобразите ее; в противном случае отобразите ноль в этой позиции. Если число содержит меньше цифр, чем нулей (по обе стороны от десятичной дроби) в выражении формата, отобразите начальные или конечные нули. Если число имеет больше цифр справа от десятичного разделителя, чем нулей справа от десятичного разделителя в выражении формата, округлите число до такого количества десятичных знаков, сколько имеется нулей.Если число имеет больше цифр слева от десятичного разделителя, чем нулей слева от десятичного разделителя в выражении формата, отобразите дополнительные цифры без изменений.
() Цифра-заполнитель. Отображать цифру или ничего. Если в выражении есть цифра в позиции, где стоит знак # в строке формата, отобразите ее; в противном случае ничего не отображать в этой позиции. Этот символ работает как 0-значный заполнитель, за исключением того, что начальные и конечные нули не отображаются, если число имеет такое же или меньшее количество цифр, чем есть символы # по обе стороны от десятичного разделителя в выражении формата.
(. ) Десятичный заполнитель. В некоторых странах в качестве десятичного разделителя используется запятая. Десятичный заполнитель определяет, сколько цифр отображается слева и справа от десятичного разделителя. Если выражение формата содержит только числовые знаки слева от этого символа, числа меньше 1 начинаются с десятичного разделителя. Чтобы отобразить начальный ноль с дробными числами, используйте 0 в качестве заполнителя первой цифры слева от десятичного разделителя.Фактический символ, используемый в качестве десятичного заполнителя в форматированном выводе, зависит от числового формата, распознаваемого вашей системой.
(%) Заполнитель процента. Выражение умножается на 100. Символ процента (% ) вставляется в то место, где он появляется в строке формата.
(, ) Разделитель тысяч. В некоторых странах точка используется в качестве разделителя тысяч. Разделитель тысяч отделяет тысячи от сотен внутри числа, которое имеет четыре или более разряда слева от десятичного разделителя.Стандартное использование разделителя тысяч указано, если формат содержит разделитель тысяч, окруженный заполнителями цифр ( 0 или # ). Два смежных разделителя тысяч или разделитель тысяч непосредственно слева от десятичного разделителя (независимо от того, указан десятичный разделитель) означает «масштабировать число, разделив его на 1000, округляя по мере необходимости». Например, вы можете использовать строку формата «## 0 ,,», чтобы представить 100 миллионов как 100. Числа меньше 1 миллиона отображаются как 0.Два соседних разделителя тысяч в любой позиции, кроме непосредственно слева от десятичного разделителя, обрабатываются просто как указывающие на использование разделителя тысяч. Фактический символ, используемый в качестве разделителя тысяч в форматированном выводе, зависит от числового формата, распознаваемого вашей системой.
(: ) Разделитель времени. В некоторых регионах для обозначения разделителя времени могут использоваться другие символы. Разделитель времени разделяет часы, минуты и секунды при форматировании значений времени.Фактический символ, используемый в качестве разделителя времени в форматированных выводах, определяется настройками вашей системы.
(/) Разделитель даты. В некоторых регионах для обозначения разделителя даты могут использоваться другие символы. Разделитель даты разделяет день, месяц и год при форматировании значений даты. Фактический символ, используемый в качестве разделителя даты в форматированных выводах, определяется настройками вашей системы.
( E- E + e- e + ) Научный формат.Если выражение формата содержит хотя бы одну цифру-заполнитель ( 0 или # ) справа от E-, E +, e- или e +, число отображается в научном формате, а E или e вставляется между числами. и его показатель степени. Количество заполнителей цифр справа определяет количество цифр в экспоненте. Используйте E- или e-, чтобы поставить знак минус рядом с отрицательными показателями. Используйте E + или e +, чтобы поставить знак минус рядом с отрицательными показателями степени и знак плюса рядом с положительными показателями.
— + $ 900 16 () Отобразить буквальный символ. Чтобы отобразить символ, отличный от одного из перечисленных, поставьте перед ним обратную косую черту ( \ ) или заключите его в двойные кавычки («»).
( \ ) Показать следующий символ в строке формата. Чтобы отобразить символ, имеющий особое значение, в качестве буквального символа, поставьте перед ним обратную косую черту ( \ ). Сама обратная косая черта не отображается.Использование обратной косой черты аналогично заключению следующего символа в двойные кавычки. Чтобы отобразить обратную косую черту, используйте две обратные косые черты ( \ ). Примерами символов, которые не могут быть отображены как буквальные символы, являются символы форматирования даты и времени (a, c, d, h, m, n, p, q, s, t, w, y, / и :), символы форматирования чисел (#, 0,%, E, e, запятая и точка) и символы форматирования строки (@, &, <,> и!).
(«ABC») Показать строку в двойных кавычках («»).Чтобы включить строку в формате из кода, вы должны использовать Chr (34) для заключения текста (34 — это код символа для кавычки («)).

См. Также

Поддержка и отзывы

Есть вопросы или отзывы об Office VBA или этой документации? Чтобы узнать, как получить поддержку и оставить отзыв, см. Раздел Поддержка и отзывы Office VBA.

Функция VBA FORMAT

На главную »Функции VBA» Функция VBA-Format

Описание

Функция формата VBA применяет указанный формат к выражению и возвращает результат в виде строки.

Синтаксис функции:

Формат (Выражение, [Формат], [FirstDayOfWeek], [FirstWeekOfYear])

Где аргументы функции:

Выражение

Выражение, которое вы хочу отформатировать.

[Формат]

Необязательный аргумент, определяющий формат, который должен применяться к Выражению.

Это может быть пользовательский формат или один из предварительно определенных именованных форматов, перечисленных ниже:

Предопределенные форматы даты:

Формат Описание
Общая дата Отображает Дата, как определено в настройках общей даты вашей системы.
Если только дата, время не отображается; Если только время, дата не отображается.
Длинная дата Отображает дату, определенную в настройках длинной даты вашей системы.
Средняя дата Отображает дату, определенную в настройках средней даты вашей системы.
Краткая дата Отображает дату, определенную в настройках краткой даты вашей системы.
Долгое время Отображает время в соответствии с настройками длительного времени вашей системы.
Среднее время Отображает время, как определено в настройках среднего времени вашей системы.
Короткое время Отображает время, как определено в настройках краткого времени вашей системы.

Предопределенные форматы чисел:

Формат Описание
Общий номер Отображает число при вводе.
Валюта Отображает число с символом валюты, используя разделитель тысяч и десятичные разряды, как определено в настройках валюты вашей системы.
Евро Отображает число как валюту с символом валюты евро.
Фиксированное Отображает по крайней мере одну цифру слева от десятичного разряда и соответствует системным настройкам количества десятичных знаков справа от десятичного разряда.
Стандартный Отображает разделитель разрядов и соответствует стандартным системным настройкам для количества цифр, отображаемых по обе стороны от десятичной точки.
Процент Отображает число, умноженное на 100, за которым следует символ процента; Формат соответствует стандартным системным настройкам количества цифр, отображаемых по обе стороны от десятичной точки.
Scientific Отображает число в экспоненциальном представлении.
Да / Нет Отображает «Нет», если число равно нулю, или «Да» в противном случае.
Истина / Ложь Отображает «Ложь», если число равно нулю, или «Истина» в противном случае.
Вкл. / Выкл. Отображается Выкл., Если число равно нулю, или Вкл. В противном случае.

Если аргумент [Формат] опущен, функция использует системный формат «Общий» для типа данных Expression.

[FirstDayOfWeek]

Необязательное значение перечисления FirstDayOfWeek, указывающее день недели, который следует использовать в качестве первого дня недели.

Это может быть любое из следующих значений:

vbUseSystemDayOfWeek Первый день недели, указанный в настройках вашей системы
vbSunday Sunday
vbMonday Понедельник
vb Вторник Вторник
vb Среда Среда
vb Четверг Четверг
vb Пятница — Пятница
vbSaturday Saturday

Если опущено, аргумент [FirstDayOfWeek] использует значение по умолчанию vbSunday .

[FirstWeekOfYear]

Необязательное значение перечисления FirstWeekOfYear, указывающее неделю, которая должна использоваться в качестве первой недели года.

Может иметь любое из следующих значений:

vbSystem Первая неделя года соответствует настройкам вашей системы
vbFirstJan1 Неделя, в которую 1 января происходит
vbFirstFourDays Первая неделя, которая содержит не менее четырех дней в новом году
vbFirstFullWeek Первая полная неделя в новом году

Если опущено, Аргумент [FirstWeekOfYear] использует значение по умолчанию vbFirstJan1 .

Примеры функций формата VBA

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

Следующий код VBA показывает, как функцию формата VBA можно использовать для форматирования даты и времени 31.12.2015 12:00:00 пятью разными способами.

Dim dt1 как строка
Dim dt2 As String
Dim dt3 As String
Dim dt4 As String
Dim dt5 As String

dt1 = Format (# 31.12.2015 12:00:00 PM #)

dt2 = Формат (# 31.12.2015 12:00:00 PM #, «Длинная дата»)

dt3 = Формат (# 31.12.2015 12:00:00 PM #, «Среднее время» )

dt4 = Формат (# 31.12.2015 12:00:00 PM #, «мм / дд / гггг»)

dt5 = Формат (# 31.12.2015 12:00:00 PM #, «дддд мм / дд / гггг чч: мм: сс»)

Обратите внимание, что в приведенных выше примерах:

  • При первом вызове функции Format аргумент [Format] опускается.Поэтому используется текущий системный формат даты и времени по умолчанию.
  • Второй и третий вызовы функции Format используют предопределенные форматы «Длинная дата» и «Среднее время». Эти определения формата будут различаться в зависимости от настроек даты / времени вашей системы.
  • Последние два вызова функции Format предоставлены с пользовательскими форматами.

Пример 2 — Форматирование чисел и валют VBA

В следующем коде VBA функция формата VBA используется для форматирования числовых значений 50000 и 0.88 разными способами.

Dim str1 As String
Dim str2 As String
Dim str3 As String
Dim str4 As String
Dim str5 As String

str1 = Format (50000)

str2 = Format (50000, «Валюта»)

str3 = Формат (0,88, «Процент»)

str4 = Формат (50000, «#, ## 0,0»)

str5 = Формат (0,88, «0,0»)

Обратите внимание, что, в приведенных выше примерах:

  • При первом вызове функции Format аргумент [Format] опускается.Поэтому используется текущий системный формат чисел по умолчанию.
  • Второй и третий вызовы функции Format используют предопределенные форматы «Валюта» и «Процент». Эти определения формата могут отличаться в зависимости от настроек вашей системы.
  • Последние два вызова функции Format предоставлены с пользовательскими форматами.

Пример 3. Форматирование строк VBA

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

Dim str1 As String
Dim str2 As String

str1 = Format («John Smith», «>»)

str2 = Format («123456789», «@@@ — @@@ — @@ @ «)

В приведенном выше коде VBA:

  • При первом вызове функции Format символ»> «заставляет предоставленный текст форматироваться в верхнем регистре.
  • Во втором вызове функции Format символ «@» представляет отображаемый символ, а символ «-» — текст, который нужно вставить в указанные позиции строки.

Вернуться к функциям VBA Страница
Вернуться к Excel VBA Tutorial Страница

VBA FORMAT Function | Объяснение с примерами синтаксиса

Обзор функции формата VBA:

Функция формата VBA классифицируется как функция текста / строки в VBA. Это встроенная функция в MS Office Excel. Функция VBA Format возвращает форматированную строку из строкового выражения. Эта функция имеет один обязательный параметр и три необязательных параметра. Если аргумент формата оставлен пустым, функция ведет себя как функция CSTR.

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

Синтаксис функции формата VBA

Синтаксис функции формата VBA:

  Формат (Выражение, [Формат], [FirstDayOfWeek], [FirstWeekOfYear]) 
 

Примечание. Эта функция форматирования возвращает строку.

Параметры или аргументы

Эта функция имеет один обязательный параметр и три дополнительных параметра для функции формата.
Где
Выражение: Выражение является обязательным аргументом. Он представляет собой выражение, которое вы хотите отформатировать.

Формат: Foramt — необязательный аргумент. Он представляет собой определенный пользователем или ниже указанный встроенный формат. Он применяется к выражению.

Форматы даты VBA: Вот следующий список встроенных форматов даты.

Формат Описание
Общие Дата Отображает дату, как определено в общих настройках даты вашей системы. Он отображает короткую дату и короткое время.
Длинная дата Отображает дату, как определено в настройках вашей системы Long Date
Средняя дата Отображает дату, указанную в настройках средней даты вашей системы
Краткая дата Отображает дату, указанную в настройках краткой даты вашей системы
Долгое время Отображает время, как определено в вашей системе. Настройки долгого времени
Среднее время Отображает время, как определено в вашей системе. Средние настройки времени
Кратковременное Отображает время, как определено в вашей системе. Краткие настройки времени

Числовые форматы VBA: Вот следующий список встроенных числовых форматов.

Формат Описание
Общий номер Отображает число без разделителей тысяч.
Валюта Отображает число с разделителями тысяч и двумя десятичными знаками.
евро Отображает число с символом валюты евро.
фиксированный Отображает как минимум одну целую цифру и два десятичных знака числа.
Стандартный Отображает число с разделителями тысяч, по крайней мере, с одной целой цифрой и двумя десятичными знаками.
Процент Он отображает число в процентной форме, добавляет знак% и округляет его до двух десятичных знаков.
Научный Отображает число в экспоненциальном представлении.
Да / Нет Отображается «Нет», если число равно нулю, или «Да» в противном случае.
Верно / Неверно Отображает False, если число равно нулю, или True в противном случае.
Вкл / Выкл Отображается «Выкл», если число равно нулю, или «Вкл.» В противном случае.

Текстовые форматы VBA: Вот следующий список текстовых форматов и форматов заметок.

Символ формата Описание
@ Требуется текстовый символ.
и Текстовый символ не требуется.
< Преобразовать все символы в нижний регистр.
> Преобразовать все символы в верхний регистр.

FirstDayOfWeek: FirstDayOfWeek — необязательный аргумент. Он представляет первый день недели. В этом аргументе используется значение по умолчанию vbSunday (воскресенье).

Константа VBA Значение Описание
vbUseSystem 0 Использует настройку NLS API (первый день недели, указанный в системных настройках)
VbВоскресенье 1 Воскресенье
vbПонедельник 2 Понедельник
vb Вторник 3 вторник
vbСреда 4 среда
vb Четверг 5 Четверг
vbПятница 6 Пятница
vbСуббота 7 суббота

FirstWeekOfYear: FirstWeekOfYear — необязательный аргумент.Он представляет первую неделю года. В этом аргументе используется значение по умолчанию vbFirstJan1 (1 января).

Константа VBA Значение Описание
vbUseSystem 0 Использует настройку NLS API.
vbFirstJan1 1 Неделя, приходящаяся на 1 января года.
vbFirstFourDays 2 Первая неделя, которая включает как минимум 4 дня в году.
vbFirstFullWeek 3 Первая полная неделя года.

Где мы можем применить или использовать функцию формата VBA?

Мы можем использовать эту функцию формата VBA в MS Office 365, MS Excel 2016, MS Excel 2013, 2011, Excel 2010, Excel 2007, Excel 2003, Excel 2016 для Mac, Excel 2011 для Mac, Excel Online, Excel для iPhone, Excel для iPad, Excel для планшетов с Android и Excel для мобильных устройств с Android.

Пример 1: Форматирование даты и времени

Вот простой пример функции формата VBA.Здесь вы можете увидеть несколько примеров функции формата даты и времени VBA.

'Форматировать дату и время
Sub VBA_Format_Function_Ex1 ()

    Dim sDate как строка, sTime как строка
    Dim sDateTime как строка
    Dim sOutput как строка, sOutput1 как строка, sOutput2 как строка
    
    sDate = Дата: sTime = Время
        
    sDateTime = sDate & "" & sTime
    
    sOutput = Формат (sDateTime)
    
    MsgBox «Общий формат даты и времени:» & vbCrLf & sOutput, vbInformation, «Функция формата VBA»
    
    '------------------------------------------------- -------------------------------------
    sOutput1 = Формат (sDate, «Средняя дата»)
    sOutput2 = Формат (sTime, «Среднее время»)
        
    MsgBox «Средний формат даты:» & sOutput1 & vbCrLf & «Средний формат времени:» & sOutput2, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput1 = Формат (sDate, «Длинная дата»)
    sOutput2 = Формат (sTime, «Долгое время»)
        
    MsgBox «Длинный формат даты:» & sOutput1 & vbCrLf & «Длинный формат времени:» & sOutput2, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput1 = Формат (sDate, «дддд мм / дд / гггг»)
    sOutput2 = Формат (sTime, «чч: мм: сс AMPM»)
        
    MsgBox "Пользовательский формат даты:" & sOutput1 & vbCrLf & "Пользовательский формат времени:" & sOutput2, vbInformation, "Функция формата VBA"
     
Конец подписки
 

Выходные данные : Вот скриншот первого примера выходных данных.

Пример 2: Форматирование чисел и валюты

Вот простой пример функции формата VBA. Здесь вы можете увидеть несколько примеров функций VBA Number и Currency Format.

'Форматирование чисел и валют
Sub VBA_Format_Function_Ex2 ()

    Dim sValue как строка, sValue1 как строка
    Dim sOutput как строка
    
    sValue = 0,1234: sValue1 = 12345
    
    sOutput = Format (sValue) 'Общий числовой формат
    
    MsgBox «Общий формат чисел:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue1, "Стандартный") '
    
    MsgBox «Стандартный формат:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue1, "Фиксированный") '
    
    MsgBox «Фиксированный формат:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue, «Валюта») '
    
    MsgBox «Формат валюты:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue, «Процент») '
    
    MsgBox «Процентный формат:» & sOutput, vbInformation, «Функция формата VBA»
     
Конец подписки
 

Выходные данные : Вот скриншот второго примера выходных данных.

Пример 3: Форматировать текст / строку

Вот простой пример функции формата VBA. Здесь вы можете увидеть несколько примеров функции VBA Text / String Format.

'Формат текста / строки
Sub VBA_Format_Function_Ex3 ()

    Dim sValue как строка, sValue1 как строка
    Dim sOutput как строка
    
    sValue = "Добро пожаловать в VBAF1": sValue1 = "999999999"
    
    sOutput = Format (sValue, ">")
    
    MsgBox «Пользовательский формат:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
   sOutput = Format (sValue, "
 

Выходные данные : Вот скриншот третьего примера выходных данных.

Пример 4: Пользовательский формат

Вот простой пример функции формата VBA. Здесь вы можете увидеть несколько примеров функции пользовательского формата VBA.

'Пользовательский формат
Sub VBA_Format_Function_Ex4 ()

    Dim sValue как строка, sValue1 как строка
    Dim sOutput как строка
    
    sValue = 12345,678: sValue1 = 0,1357
    
    sOutput = Формат (sValue, "0,000")
    
    MsgBox «Пользовательский формат:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue, "##, ## 0") '
    
    MsgBox «Пользовательский формат:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue, "$ ##, ## 0.00 ") '
    
    MsgBox «Пользовательский формат:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue, "£ ##, ## 0.00") '
    
    MsgBox «Пользовательский формат:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue1, "0%") '
    
    MsgBox «Пользовательский формат:» & sOutput, vbInformation, «Функция формата VBA»
    '------------------------------------------------- -------------------------------------
    sOutput = Format (sValue1, "0.00% ") '
    
    MsgBox «Пользовательский формат:» & sOutput, vbInformation, «Функция формата VBA»
     
Конец подписки
 

Выходные данные : Вот снимок экрана четвертого примера выходных данных.

Инструкции по использованию макросов

Вот пошаговые инструкции по использованию функции формата VBA в Excel VBA.

  • Откройте книгу Excel.
  • Нажмите Alt + F11, чтобы открыть окно редактора VBA.
  • Перейдите в меню «Вставка» и щелкните модуль из доступных вариантов.
  • Скопируйте указанные выше макросы в редактор VBA.
  • Выберите любую процедуру из приведенных выше кодов и щелкните команду «Выполнить» или используйте сочетание клавиш «F5».
Список функций VBA:

Нажмите ссылку ниже, чтобы вернуться к просмотру всего списка функций VBA.

Список функций VBA

25 примеров макросов для простой установки формата даты

Excel предоставляет несколько вариантов форматирования дат. В дополнение к нескольким существующим встроенным форматам даты вы можете создавать собственные форматы даты.

Несмотря на то, что процесс ручного применения формата даты не очень сложен, есть некоторые обстоятельства, при которых вы можете создать макросы, форматирующие даты . Это может иметь место, например, если:

  • Вы постоянно используете определенный формат даты и хотите иметь возможность применять такой формат без необходимости делать все вручную; или
  • Вы часто форматируете ячейки или диапазоны ячеек определенным образом, и правила форматирования, которые вы применяете, включают форматы даты.

Независимо от вашей ситуации, если вы хотите понять , как можно использовать Visual Basic для приложений с целью форматирования дат , вы нашли нужное место.

При работе в Visual Basic для приложений, есть несколько различных свойств и функций, которые можно использовать для форматирования даты . Обычно используются следующие 3:

  • Функция форматирования VBA.
  • Свойство Range.NumberFormatLocal.
  • Свойство Range.NumberFormat.

В этом конкретном руководстве по Excel основное внимание уделяется последнему элементу в списке выше (свойство Range.NumberFormat) . Я могу рассказать о функции Format и свойстве Range.NumberFormatLocal в будущих сообщениях блога. Если вы хотите получать информацию, когда я публикую новый контент в Power Spreadsheets, убедитесь, что вы зарегистрировались на нашем информационном бюллетене , указав свой адрес электронной почты ниже .

В дополнение к объяснению Range.NumberFormat property, Я объясню различные коды формата даты, которые вы можете использовать, и представлю 25 примеров форматирования даты с использованием VBA .

Вы можете использовать следующее подробное оглавление, чтобы перейти к наиболее интересному для вас разделу этого руководства.

Прежде чем я более подробно расскажу о свойстве NumberFormat, давайте начнем с просмотра файла-примера, который прилагается к этому руководству по Excel:

Форматирование дат с помощью Excel VBA: пример

Для этого руководства по Excel я использую книгу Excel, содержащую полное расписание матчей чемпионата мира по футболу 2014 в Бразилии.

Это руководство по формату даты Excel VBA сопровождается книгой Excel, содержащей данные и некоторые версии макросов, которые я объясню ниже. Вы можете, , получить немедленный бесплатный доступ к этому примеру рабочей книги, подписавшись на информационный бюллетень Power Spreadsheets .

Обратите внимание, что первый столбец таблицы содержит даты:

Функция формата VBA — Ссылка VBA

Загрузка …

Формат Описание функции

Функция формата VBA форматирует строку в соответствии с предоставленным форматом.Функция форматирования использует языковой стандарт в соответствии с настройками вашей системы. Чтобы отформатировать формулы для конкретных языков, читайте дальше.

Синтаксис

Синтаксис функции форматирования в VBA:

 Формат (выражение, [формат]) 

Параметры

выражение
Строка, которую нужно отформатировать.

формат
Необязательно. Назначенный формат для строки выражения . Это может быть:

  • Пользовательский формат
  • Предопределенный формат — один из предопределенных строковых форматов Excel:

    Формат Описание
    Общий номер Число без разделителей тысяч.
    Валюта Валюта с разделителями тысяч и двумя десятичными знаками
    фиксированный Число, состоящее как минимум из одной целой цифры и двух десятичных знаков
    Стандартный Число с разделителями разрядов, состоящее не менее чем из одной целой цифры и двух десятичных знаков
    Процент Percentage — процентное целое число с двумя десятичными знаками
    Научный Число в экспоненциальной записи
    Да / Нет Нет, если номер 0.Да иначе
    Верно / Неверно Ложь, если 0. Истина в противном случае
    Вкл / Выкл Не горит, если 0. В противном случае горит
    Общие Дата Дата в зависимости от региона
    Длинная дата Дата на основе настройки длинной даты системы
    Средняя дата Дата на основе средней настройки даты в системе
    Краткая дата Дата, основанная на установке короткой даты системы
    Долгое время Дата, основанная на настройке долгого времени системы
    Среднее время Дата на основе средней настройки времени системы
    Кратковременное Время основано на установке короткого времени системы

Прочие ноты

Функция Format форматирует строки в соответствии с текущим установленным языковым стандартом.Если вы хотите отформатировать свои строки в соответствии с определенным языком / локалью, используйте вместо этого функцию WorksheetFunction.Text :

WorksheetFunction.Text (Дата, «[$ - 486] ммм»)
Результат: «Янв»

WorksheetFunction.Text (Дата, «[$ - 040C] ммм»)
Результат: «янв».
 

Обратите внимание, что перед параметром формата необходимо указать следующую строку:

[$ -LOCALE] 'Local = Hex LCID Dec
 

Вы можете найти полный список кодов языков / локалей в MSDN здесь.

Пример использования

Функция форматирования может использоваться только в коде VBA. Давайте посмотрим на некоторые примеры функций формата VBA:

Формат («20.11», «#, # 0.0»)
Результат: «20,1»

Формат (Дата, «гггг-мм»))
'Результат: «2016-01»
 

Функция VBA FORMAT

FORMAT (выражение [, format] [, firstdayofweek] [, firstweekofyear])

Возвращает текстовую строку числа или даты в определенном формате (String).

выражение Допустимое выражение.
формат (необязательно) Допустимый именованный формат или определенное пользователем выражение формата (строка):
«yyyy» = год
«q» = квартал
«m» = месяц
«M» = месяц ( то же, что и ‘m’)
«y» = день года
«w» = день недели
«ww» = неделя
«h» = час
«n» = минуты
«s» = секунда
«General Date» ( использует короткую дату + короткое время)
«Длинная дата»
«Средняя дата»
«Краткая дата»
«Долгая дата»
«Средняя продолжительность» (использует 12-часовой формат)
«Кратковременное время»
«Общий номер«
» Валюта «
» Фиксированный «
» Стандартный «
» Процентный «
» Научный «
» Да / Нет «
» Верно / неверно «
» Вкл. / Выкл. «
» @ «строка отображаемый символ
«> «строка в верхнем регистре
firstdayofweek (необязательно) Константа vbDayOfWeek , которая указывает первый день недели (целое число):
0 = vbUseSystemDayofWeek
1 = vbSunday ( по умолчанию )
2 = vbMonday
3 = vbTuesday
4 = vbWednesday
5 = vbThursday
6 = vbFriday
7 = vbSaturday
firstweekofyear (Необязательно) Константа A Integer для первой недели vbFearies the year :
0 = vbUseSystem
1 = vbFirstJan1, неделя, содержащая 1 января ( по умолчанию )
2 = vbFirstFourDays, первая неделя, состоящая из 4 дней
3 = vbFirstFullWeek, первая полная неделя

* If » формат «оставлен пустым, тогда он ведет себя точно так же, как функция CSTR .
* Аргумент «формат» может быть либо вашим собственным форматом, либо одним из встроенных именованных форматов.
* Если «выражение» является положительным числом, а «формат» оставлен пустым, для знака не зарезервировано начальное пространство. Если вы используете функцию CStr (), этот ведущий пробел сохраняется.
* Для форматирования чисел используйте предопределенные именованные числовые форматы или создавайте определенные пользователем форматы (например, ??).
* Для форматирования серийных номеров даты и времени используйте форматы даты и времени или числовые форматы (например, ??).
* Для форматирования строк создайте собственные строковые форматы, определяемые пользователем (например, ??).
* Если вы конвертируете дату непосредственно в строку с помощью CStr, результирующая строка будет отформатирована в соответствии с «Краткой датой». Есть одно исключение, хотя любые даты, выходящие за пределы диапазона 1930–1999, всегда будут форматироваться с использованием четырехзначного числа для компонента года независимо от краткого формата даты.
* Вы можете использовать функцию FORMAT $ для возврата типа данных String вместо типа данных Variant / String.
* Эквивалентная функция Excel — Application.WorksheetFunction.TEXT
* Эквивалентная функция .NET — Microsoft.VisualBasic.Strings.Format
* Для документации Microsoft см. docs.microsoft.com
 Format ("12.3456", "0.00") = 12.35 
Debug.Print Format ("12.3456", "0.00")

Format ("0.12", "0.0000") = 0.1200
Debug.Print Format ("0.12", «0,0000»)

Формат («123,456», «0,0000») = 123.4560
Формат (СЕЙЧАС (), «чч: мм: сс AMPM») = 08:42:31 AM
Формат (СЕЙЧАС (), «Краткая дата») = 10.10.2018
Формат (1234.56, "## , ## 0 ") = 1,235
Формат (1234,56," £ ##, ## 0.00; (£ ##, ## 0,00) ") = 1234,56 £
Формат (-1234,56," £ ##, ## 0,00 ; (£ ##, ## 0.00) ") = (1234,56 £)
Формат (DateSerial (2002,1,1)," дддд дд / мм / гггг ") = вторник 01.01.2002
Формат (0,163, «Процент») = 16,30%
Формат (0,163, «Валюта») = 0,16 фунта стерлингов
Формат (0,163, «Общее число») = 0,163
Формат («некоторый текст», «>») = НЕКОТОРЫЙ ТЕКСТ
Формат (« 123456789 "," @@@ ") = 123456789

Dim dtDate As Date
dtDate = # 01/07/2011 #
Debug.

Добавить комментарий

Ваш адрес email не будет опубликован.