Преобразование чисел, дат и строк в настраиваемый текстовый формат из кода VBA Excel с помощью функции Format. Синтаксис, параметры, символы, примеры.
Format – это функция, которая преобразует число, дату или строку в текст, отформатированный в соответствии с именованным выражением формата или инструкциями, составленными из специальных символов.
Синтаксис и параметры
Format(Expression, [FormatExpression], [FirstDayOfWeek], [FirstWeekOfYear])
- Expression – любое допустимое выражение (переменная), возвращающее числовое значение или строку (обязательный параметр).
- FormatExpression – выражение формата, именованное или содержащее инструкции из специальных символов (необязательный параметр).
- FirstDayOfWeek – константа, задающая первый день недели (необязательный параметр).
- FirstWeekOfYear – константа, задающая первую неделю года (необязательный параметр).
Именованные выражения форматов
Именные форматы даты и времени
Имя формата | Описание |
---|---|
General Date | Стандартное отображение даты и времени в соответствии с параметрами системы. |
Long Date | Длинный формат даты. |
Medium Date | Средний формат даты. |
Short Date | Краткий формат даты. |
Long Time | Длинный формат времени. |
Medium Time | Средний формат времени. |
Short Time | Краткий формат времени. |
Проверьте отображение даты и времени с использованием именованных форматов на вашем компьютере при помощи следующего кода VBA Excel:
Sub FormatDateTime() MsgBox «General Date: « & Format(Now, «General Date») & vbNewLine _ & vbNewLine & «Long Date: « & Format(Now, «Long Date») & vbNewLine _ & vbNewLine & «Medium Date: « & Format(Now, «Medium Date») & vbNewLine _ & vbNewLine & «Short Date: « & Format(Now, «Short Date») & vbNewLine _ & vbNewLine & «Long Time: « & Format(Now, «Long Time») & vbNewLine _ & vbNewLine & «Medium Time: « & Format(Now, «Medium Time») & vbNewLine _ & vbNewLine & «Short Time: « & Format(Now, «Short Time») End Sub |
Скорее всего, результат будет таким:
Именованные форматы чисел
Имя формата | Описание |
---|---|
General Number | Стандартное отображение числа без знака разделителя групп разрядов. |
Currency | Денежный формат. |
Fixed | Отображение числа без знака разделителя групп разрядов с двумя цифрами после разделителя целой и дробной части. |
Standard | Отображение числа со знаком разделителя групп разрядов и с двумя цифрами после разделителя целой и дробной части. |
Percent | Процентный формат: отображение числа, умноженного на 100, со знаком процента (%), добавленного справа. |
Scientific | Отображение числа в экспоненциальном виде. |
Yes/No | Возвращается «Нет», если число равно 0, иначе отображается «Да». |
True/False | Возвращается «Ложь», если число равно 0, иначе отображается «Истина». |
On/Off | Возвращается «Выкл», если число равно 0, иначе отображается «Вкл». |
Проверяем работу именованных форматов на числах 2641387.7381962 и 0 с помощью кода VBA Excel:
Sub FormatNumber() Dim n As Double n = 2641387.7381962 ‘n = 0 MsgBox «Форматируемое число = « & n & vbNewLine _ & vbNewLine & «General Number: « & Format(n, «General Number») & vbNewLine _ & vbNewLine & «Currency: « & Format(n, «Currency») & vbNewLine _ & vbNewLine & «Fixed: « & Format(n, «Fixed») & vbNewLine _ & vbNewLine & «Standard: « & Format(n, «Standard») & vbNewLine _ & vbNewLine & «Percent: « & Format(n, «Percent») & vbNewLine _ & vbNewLine & «Scientific: « & Format(n, «Scientific») & vbNewLine _ & vbNewLine & «Yes/No: « & Format(n, «Yes/No») & vbNewLine _ & vbNewLine & «True/False: « & Format(n, «True/False») & vbNewLine _ & vbNewLine & «On/Off: « & Format(n, «On/Off») End Sub |
Получаем следующий результат:
Вместо вопросительного знака в отображении числа в формате Currency, по идее, должен быть знак валюты (₽ или руб.).
Специальные символы для выражений форматов
Символы для форматов даты и времени
Символ | Описание |
---|---|
Точка (.) | Разделитель компонентов даты (день, месяц, год). Используется при отображении месяца в виде числа. |
Пробел | Разделитель компонентов даты (день, месяц, год). Используется при отображении месяца прописью. |
Двоеточие (:) | Разделитель компонентов времени (часы, минуты, секунды). |
d | День в виде числа без нуля в начале (1–31). |
dd | День в виде числа с нулем в начале (01–31). |
m | Месяц в виде числа без нуля в начале (1–12). Если (m) следует после (h) или (hh), отображаются минуты (0–59). |
mm | Месяц в виде числа с нулем в начале (01–12). Если (mm) следует после (h) или (hh), отображаются минуты (00–59). |
mmm | Месяц прописью в сокращенном виде (янв–дек). |
mmmm | Полное название месяца (январь–декабрь). |
y | День года в виде числа (1–366). |
yy | Год в виде 2-значного числа (00–99). |
yyyy | Год в виде 4-значного числа (1900–9999). |
h | Часы в виде числа без нуля в начале (0–23). |
hh | Часы в виде числа с нулем в начале (00–23). |
n (m) | Минуты в виде числа без нуля в начале (0–59). |
nn (mm) | Минуты в виде числа с нулем в начале (00–59). |
s | Секунды в виде числа без нуля в начале (0–59). |
ss | Секунды в виде числа с нулем в начале (00–59). |
В этой таблице перечислены далеко не все символы для выражений форматов даты и времени. Вы можете ознакомиться со всеми символами, в том числе и для форматирования чисел, на сайте разработчика.
Примеры отображения даты с помощью разных по количеству наборов символа d:
Sub DataIsD() MsgBox «d: « & Format(Now, «d») & vbNewLine _ & vbNewLine & «dd: « & Format(Now, «dd») & vbNewLine _ & vbNewLine & «ddd: « & Format(Now, «ddd») & vbNewLine _ & vbNewLine & «dddd: « & Format(Now, «dddd») & vbNewLine _ & vbNewLine & «ddddd: « & Format(Now, «ddddd») & vbNewLine _ & vbNewLine & «dddddd: « & Format(Now, «dddddd») End Sub |
Символы для числовых форматов
Символ | Описание |
---|---|
Точка (.) | Десятичный разделитель. |
Запятая (,) | Разделитель групп разрядов. В отображаемых числах заполняется пробелом. |
(0) | Заполнитель, который отображает цифру или ноль. Используется, когда нужны ведущие нули или нули в конце числа. |
(#) | Заполнитель, который отображает цифру или ничего не отображает. Используется, когда не нужны ведущие нули или нули в конце числа. |
(%) | Заполнитель процента. Выражение умножается на 100, а знак процента (%) вставляется на той позиции, где он указан в строке формата. |
(E- E+ e- e+) | Экспоненциальный формат. |
Примеры использования символов в выражениях числовых форматов VBA Excel:
Sub FormatNumber2() Dim n As Double n = 2641387.7381962 ‘n = 0.2397842 MsgBox «Форматируемое число = « & n & vbNewLine _ & vbNewLine & «0.##: « & Format(n, «0.##») & vbNewLine _ & vbNewLine & «000.###: « & Format(n, «000.###») & vbNewLine _ & vbNewLine & «#,###.###: « & Format(n, «#,###.###») & vbNewLine _ & vbNewLine & «0 %: « & Format(n, «0 %») & vbNewLine _ & vbNewLine & «0.### E-: « & Format(n, «0.### E-«) & vbNewLine _ & vbNewLine & «0.### E+: « & Format(n, «0.### E+») End Sub |
Символы для текстовых форматов
Символ | Описание |
---|---|
At-символ (@) | Заполнитель для символов, отображающий знак или пробел. |
Амперсанд (&) | Заполнитель для символов, отображающий знак или ничего (пустая строка). |
Меньше (<) | Принудительный перевод всех буквенных символов в нижний регистр. |
Больше (>) | Принудительный перевод всех буквенных символов в верхний регистр. |
Примеры использования символов в выражениях строковых форматов VBA Excel:
Sub FormatString() MsgBox «Номер телефона: « & Format(«1234567890», «+7 (@@@) @@@-@@-@@») & vbNewLine _ & vbNewLine & «Серия и номер паспорта: « & Format(«1234567890», «&& && &&&&») & vbNewLine _ & vbNewLine & «Нижний регистр: « & Format(«Нижний регистр», «<«) & vbNewLine _ & vbNewLine & «Верхний регистр: « & Format(«Верхний регистр», «>») End Sub |
Форматы для различных значений одного выражения
Различные форматы для разных числовых значений
В выражении формата для чисел предусмотрено от одного до четырех разделов, отделяемых друг от друга точкой с запятой. Отображаемая строка зависит от значения, возвращенного параметром Expression функции Format.
Количество разделов | Результат форматирования |
---|---|
Один раздел | Выражение формата применяется ко всем значениям. |
Два раздела | Первый раздел применяется к положительным значениям и нулям, второй – к отрицательным значениям. |
Три раздела | Первый раздел применяется к положительным значениям, второй – к отрицательным значениям, третий – к нулям. |
Четыре раздела | Первый раздел применяется к положительным значениям, второй – к отрицательным значениям, третий – к нулям, четвертый – к значениям Null. |
Пример использования четырех разделов в выражении формата числовых значений:
Sub FormatDifferentValues() MsgBox «Число 1234,5678: « & _ Format(1234.5678, «#,##0.00 руб.;Отрицательное число;Ноль рублей;Значение Null») _ & vbNewLine & vbNewLine & «Число -25: « & _ Format(—25, «#,##0.00 руб.;Отрицательное число;Ноль рублей;Значение Null») _ & vbNewLine & vbNewLine & «Число 0: « & _ Format(0, «#,##0.00 руб.;Отрицательное число;Ноль рублей;Значение Null») _ & vbNewLine & vbNewLine & «Null: « & _ Format(Null, «#,##0.00 руб.;Отрицательное число;Ноль рублей;Значение Null») End Sub |
Различные форматы для разных строковых значений
В выражении формата для строк предусмотрено до двух разделов, отделяемых друг от друга точкой с запятой. Отображаемая строка зависит от текста, возвращенного параметром Expression функции Format.
Количество разделов | Результат форматирования |
---|---|
Один раздел | Выражение формата применяется ко всем строковым данным. |
Два раздела | Первый раздел применяется к строковым данным, второй – к значениям Null и пустым строкам («»). |
Пример использования двух разделов в выражении формата строк:
Sub FormatString2() MsgBox «Строка «Белка»: « & _ Format(«Белка», «@;Пустая строка или Null») _ & vbNewLine & vbNewLine & «Пустая строка: « & _ Format(«», «@;Пустая строка или Null») _ & vbNewLine & vbNewLine & «Строка «Null»: « & _ Format(«Null», «@;Пустая строка или Null») _ & vbNewLine & vbNewLine & «Значение Null: « & _ Format(Null, «@;Пустая строка или Null») End Sub |
В этом учебном материале вы узнаете, как использовать Excel функцию Format в Excel (применительно к значениям даты) с синтаксисом и примерами.
Описание
Microsoft Excel функция Format принимает выражение даты и возвращает его в виде форматированной строки.
Функция Format — это встроенная в Excel функция, которая относится к категории функций даты и времени. Её можно использовать как функцию VBA в Excel.
В качестве функции VBA вы можете использовать эту функцию в коде макроса, который вводится через редактор Microsoft Visual Basic Editor.
Синтаксис
Синтаксис функции Format в Microsoft Excel:
Format ( expression, [ format, [ firstdayofweek, [firstweekofyear] ] ] )
Аргументы или параметры
- expression
- Значение даты для форматирования.
- format
- Необязательно. Это формат, применяемый к
expression
. Вы можете определить свой собственный формат или использовать один из названных форматов, предопределенных в Excel, например:Формат Пояснение General Date Отображает дату на основе настроек вашей системы Long Date Отображает дату на основе настройки длинной даты вашей системе Medium Date Отображает дату на основе средней настройки даты вашей системы Short Date Отображает дату на основе настройки короткой даты вашей системы Long Time Отображает время, основанное на настройке длительного времени вашей системы Medium Time Отображает время на основе средней настройки времени вашей системы Short Time Отображает время на основе настройки короткого времени вашей системы - firstdayofweek
- Необязательно. Это значение, указывающее первый день недели. Если этот параметр не указан, предполагается, что воскресенье — первый день недели. Этот параметр может иметь одно из следующих значений:
Константа Значение Пояснение vbUseSystem 0 Использует настройку NLS API VbSunday 1 воскресенье (по умолчанию, если параметр не указан) vbMonday 2 понедельник vbTuesday 3 вторник vbWednesday 4 среда vbThursday 5 четверг vbFriday 6 пятница vbСуббота 7 Суббота - firstweekofyear
- Необязательно. Это значение, указывающее первую неделю года. Если этот параметр опущен, предполагается, что неделя, содержащая 1 января, является первой неделей года. Этот параметр может иметь одно из следующих значений:
Константа Значение Пояснение vbUseSystem 0 Использует настройку NLS API vbFirstJan1 1 Неделя, содержащая 1 января vbFirstFourDays 2 Первая неделя, которая имеет не менее 4 дней в году vbFirstFullWeek 3 Первая полная неделя года
Возвращаемое значение
Функция FORMAT возвращает строковое значение.
Применение
- Excel для Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 для Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000
Тип функции
- Функция VBA
Пример (как функция VBA)
Функцию FORMAT можно использовать только в коде VBA в Microsoft Excel.
Рассмотрим несколько примеров функции Excel FORMAT чтобы понять, как использовать Excel функцию FORMAT в коде Excel VBA:
Format(#17/04/2020#, «Short Date») Результат: ‘17.04.2020’ Format(#17/04/2020#, «Long Date») Результат: ’17 Апрель 2020′ Format(#17/04/2020#, «dd.mm.yyyy») Результат: ‘17.04.2020’ |
Например:
Dim LValue As String LValue = Format(Date, «dd/mm/yyyy») |
В этом примере переменная LValue теперь будет содержать дату в формате dd/mm/yyyy.
Visual Basic for Applications or VBA is a scripting language that enables automation of tasks in the Microsoft Office suite of products. It’s also an event driven programming language which contains a lot of useful functions. It is leveraged by programmers to create effective and efficient macros. Read more about what VBA can help you do, in this tutorial. Today, we are going to take it a step ahead in this intermediate tutorial and take a look at a vital date function namely CDate(). This function is used to convert the strings or numbers into date format.
We assume that you have working knowledge of MS Excel and VBA. If you are new to this concept, we suggest you to go through our introductory course to Excel VBA.
Date Systems in Microsoft Excel
Date and time functions are frequently used in MS Excel and VBA. Therefore, it’s important that you know the basic concepts of date and time functions if you want to manipulate and use them in your programs. Please note that MS Excel stores date as sequential numbers known as serial values. MS Excel considers time to be a part of a day and it is stored as decimal fractions. Dates and times can be added and subtracted. Therefore they can be included in many calculations and VBA programs. That is you can compare two dates or subtract one date from another. You can learn more about this in our Excel course.
There are two date systems in MS Excel- the 1900 and 1904. By default Microsoft Excel for Windows is 1900 and for Macintosh is 1904. You can change the date system if you want by clicking on Tools menu. Then click “Options” and choose “Calculation tab.” In Calculation tab, select or clear the 1904 date system checkbox.
You should also be aware that, the date system will be changed automatically when you open an Excel worksheet from another platform. That is when you open a worksheet created in Excel for Macintosh, while working in Excel for Windows, the system will automatically select the 1904 date system.
The following table shows the first and last date for each date system.
Date system |
First date |
Last date |
1900 | January 1, 1900
(serial value 1) |
December 31, 9999
(serial value 2958465) |
1904 | January 2, 1904
(serial value 1) |
December 31, 9999
(serial value 2957003) |
How Microsoft Excel Interprets Two-Digit Years
If you are using Microsoft Windows 2000 or later versions, the regional options in Control Panel controls how Excel interprets two-digit years. If you want MS Excel to assume the year values as you intended it to be, enter the year as a four digit value. The reason is, Excel will not interpret century.
For example instead of entering “00” for the year 2000, you should enter the all the four digits “2000”.
How MS Excel Interprets Year Portion of the Date Entered as a String or Text
- 00 through 29– When you enter the date as 3/24/14, Excel assumes the date is March 24, 2014.
- 30 through 99– Here MS Excel interpret the two-digit year values 30 through 99 as the years 1930 through 1999. That is if you enter the date in the cell as 3/24/94, Excel will interpret the date as March 24, 1994.
Microsoft Excel VBA has many date and time functions.A few of the important ones being Date(), Day(), Now(), DateAdd(), TimeSerial() and DateSerial(). It also has equal number of data type conversion functions. An important data type conversion function that is frequently used in VBA programming is CDate(). To learn more about Excel VBA, you can check out this course.
What is CDate() Function
CDate identifies date and time literals (along with some numbers that fall inside the range of acceptable dates) and converts them to the date date type. If there a fractional part of the number it is converted to a time of day starting from midnight.
The CDate() function identifies date formats depending on the locale setting of your system. The correct order of day, month and year will not be realized by this function if it is entered in a format other than one of the recognized date settings. If the year is not specified in the date, then the current year is used. Also note that a long date format is not recognized if it also contains the day-of-the-week string.
VBA CDate()converts a value of any data type, string or integer, into a date type. The syntax of this date function looks like this
CDate(expression)
Here the argument expression is mandatory. When you enter a valid date and time expression this function converts it into type Date. Let’s make this concept clear using a simple example.
Example 1:
Function FnCDate () Dim strDate_1 Dim intDate_1 Dim strTime_1 strDate_1 = "January 24, 2014" intDate_1 = #12/03/2014# strTime_1 = "15:30:15 PM" MsgBoxCDate(strDate_1) MsgBoxCDate(intDate_1) MsgBoxCDate(strTime_1) End Function
In the program, three variables strDate_1, IntDate_1 and strTime_1 are declared. These variables are assigned values “January 24, 2014”, #12/03/2014# and “15:30:15 PM” respectively. The variables are passed through the CDate() function. The output is as follows.
For the MsgBoxCDate(strDate_1) the output displayed is “24-01-2014.”
For the MsgBoxCDate(intDate_1) the output displayed is “03-12-2014.”
For the MsgBoxCDate(strTime_1) the output displayed is “15:30:15.”
How to Convert Text String to Date in MS Excel VBA Using CDate() Function
When you are working with data that contains dates, you need to have a clear idea about how to use the date data type. From MS Excel versions 2000 onwards, you have VBA to automate tasks that you would otherwise perform manually. This is normally done with the help of macros (you can learn more about VBA macros in this course). VBA CDate()function is one of the most commonly used date functions to convert a date stored in a “String” variable into a date data type. The example given below will help make the concept clear.
Open your MS Excel and enter the date in cell A1 in the following format:
March 24, 2014
To open the “Visual Basic Editor”, click the “Developer” tab and then “Visual Basic”. In the editor click “Insert” menu and click “Module.” This will insert a new code module. Here is where you write the code.
Example 2:
Sub converTextToDate() Dim Current_DateAs Date Dim Date_StringAs String Range("A1").Select Date_String = Range("A1").Value Current_Date = CDate(date_String) Range("C1").Select Range("C1").Value = Current_Date End Sub
Let’s take a closer look at the program.
In this program, two variables, “Current_Date” and “Date_String” have been declared as type Date and String respectively. Range(“A1”).Select will get the date entered in the cell A1.Date_String = Range(“A1”).Valuestores in the “string” variable Date_String.Current_Date=CDate(date_string) converts the string into Date data type and stores it in the variable “Current_Date”.The last two steps will move the cursor to cell C1 and display the date in column C1 when the procedure is executed.
In the next program, we take a look at how to compare two dates in VBA using CDate() function.
Note that to compare dates in VBA, you need to have dates stored in variables of type “Date”. However, if the dates that you are comparing are entered as numbers or string, you need to convert them using CDate() function. “If statement” is used to compare the dates. The following example helps make the concept clear.
Example 3:
Public Sub CompareDates() Dim d1, d2 As Date d1 = CDate("24/1/2013") d2 = CDate("24/1/2014") If (d1 < d2) Then Debug.Print "Date 1 occurs earlier than date 2." If (d1 > d2) Then Debug.Print "Date 1 occurs later than date 2." If (d1 = d2) Then Debug.Print "Date 1 is the same as date 2." End Sub
If you happen to work regularly on data which contains date columns, it is always wise to create a macro. Call that Macro whenever you want to delete rows in your table. Here is an example which deletes the dates prior to “12/30/2011.”
Example 4:
Sub DeleteRowbyDate() Dim x As Long For x = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row Debug.Print Cells(x, "B").Value If CDate(Cells(x, "B")) <CDate("12/29/2011") Then Cells(i, "B").EntireRow.delete End If Next i End Sub
In this example all rows with dates less than “12/29/2011” will be deleted.For example, If you want to delete all the rows prior to December 29 2012 from your table, then you will have to change the line to:
If CDate(Cells(x, "B")) <CDate("12/29/12")
We hope this gives you a good understanding of the wide range of options available to you while working with dates in Excel and with VBA. As usual, the best way to get familiar with these formula, is to try them out for yourself. If you’d like, Mr Excel has a good course with plenty of examples to help you on your way!
Всем привет!
Нужна помощь в Excel.
А именно в следующем: необходимо, чтобы Excel не переводил написанные в определённом формате цифры в дату и писал их строго в таком формате как нужно.
Речь идёт о файле с номерами договоров, они выглядят примерно так 2002/12-06, 2015/03-16 и т.д.
Всё это Excel видит как YYYY/MM-DD и переводит в DD.MM.YYYY.
А надо наоборот.
Если, к примеру, нажать на ячейку, в которой будет номер договора 2002/12-06 и далее перейти на другую ячейку, то Excel поменяет это значение на 06.12.2002.
В идеале нужен макрос или мини-функция в VBA, с кнопкой на этом же листе, по нажатию на которую всё будет приводиться к единому формату и в этом случае этот номер договора должен быть написан как 2002/12-06.
Фактически кнопка должна переводить формат DD.MM.YYYY в YYYY/MM-DD — это и есть основной смысл просьбы)
Например, открываешь файл, видишь там такие номера договоров как 12.06.2014, 05.08.2021 нажимаешь кнопку и эти значения меняются на 2014/06-12 и 2021/08-05. Вот так нужно как итог.
- Формат даты в VBA
Формат даты в VBA
Ежедневно мы обычно форматируем даты, функция форматирования VBA помогает вам форматировать дату в различные типы даты и ее внешний вид в соответствии с вашими требованиями. Функция формата VBA относится к категории «Текст / Строка». Функция форматирования VBA возвращает или выдает отформатированную строку из строкового выражения. В окне макроса VB, когда вы нажимаете или вводите CTRL + ПРОБЕЛ, появляется раскрывающееся меню VBA Intellisense, которое помогает вам в написании кода, и вы можете автозаполнять слова в редакторе VB.
Синтаксис формата даты VBA в Excel
Синтаксис для функции формата даты VBA в Excel выглядит следующим образом:
Он содержит один обязательный или обязательный параметр, а остальные три являются необязательными.
- Выражение (обязательный или обязательный аргумент): представляет или указывает значение даты, которое вы хотите отформатировать.
- (Формат) : это формат, который вы хотите применить к выбранному аргументу выражения.
- (FirstDayOfWeek) (необязательный аргумент): константа, указывающая первый день недели.
Если оставить пустым или аргумент не будет введен, он использует значение по умолчанию vbSunday (воскресенье).
(FirstWeekOfYear) (необязательный аргумент): константа, указывающая первую неделю года.
Это представляет или указывает первую неделю года. Если этот аргумент оставлен пустым или аргумент не введен, используется значение по умолчанию vbFirstJan1 (1 января).
Различные типы предопределенного формата даты
- Общая дата
- Короткая дата
- Средняя дата
- Длинная дата
Другой пользовательский формат даты, который можно использовать для установки значения даты
Как использовать формат даты VBA в Excel?
Ниже приведены различные примеры использования функции формата даты VBA в Excel.
Вы можете скачать этот шаблон Excel формата даты VBA здесь — Шаблон Excel формата даты VBA
Формат даты VBA — Пример # 1
Шаг 1: Перейдите на вкладку разработчика и нажмите на Visual Basic.
Шаг 2: Откройте модуль из меню «Вставка», как показано ниже.
Шаг 3. Чтобы создать пустой модуль, в объектах Microsoft Excel щелкните правой кнопкой мыши лист 1 (VB_DATE_FORMAT) и вставьте в разделе меню «Модуль», чтобы создать новый пустой модуль.
Формат даты VBA — Пример № 2
Теперь создается пустой модуль, он также называется окном кода, где вы можете начать писать коды операторов функции VBA DATE FORMAT. Предположим, у меня есть значение даты «12 апреля 2019 года», давайте применим к нему другой формат даты VB
Шаг 1. Откройте модуль из меню «Вставка», как показано ниже.
Шаг 2: Поскольку функция формата VB классифицируется как переменные типа text / string, DIM (Dimension) используется в коде VBA для объявления имени переменной и ее типа. поэтому здесь я определил переменную как «строковый» тип данных.
Код:
Sub VBA_FORMAT_SHORT_DATE () Dim A As String End Sub
Шаг 3: Я использовал функцию диапазона после функции форматирования, чтобы получить выходные данные в определенной ячейке, окончательный формат кода, который будет использоваться для короткой даты:
Код:
Sub VBA_FORMAT_SHORT_DATE () Dim A As String A = 4–12 - 2019 A = Формат («04–12 - 2019», «короткая дата») Диапазон («G6») = A End Sub
Шаг 4: Если вы запустите приведенный выше код, это приведет к приведенному ниже выводу в листе Excel. Точно так же вы можете протестировать другой формат даты (короткую или среднюю) в зависимости от вашего выбора (другие примеры описаны в окне макроса).
Формат даты VBA — Пример № 3
Шаг 1: В этом примере вы можете создать формат даты по вашему выбору, т.е. пользовательские форматы даты.
Код:
Sub TODAY_DATE () Dim date_example As String date_example = Now () Диапазон ("D6") = Формат (date_example, "dd") Диапазон ("D7") = Формат (date_example, "ddd") Диапазон ("D8") = Формат (date_example, "dddd") Диапазон ("D9") = Формат (date_example, "m") Диапазон ("D10") = Формат (date_example, "мм") Диапазон ("D11") = Формат (date_example, " mmm ") Range (" D12 ") = Формат (date_example, " mmmm ") Range (" D13 ") = Format (date_example, " yy ") Range (" D14 ") = Формат (date_example, " yyyy ") Диапазон ( «D15») = Формат (date_example, «w») Диапазон («D16») = Формат (date_example, «ww») Диапазон («D17») = Формат (date_example, «q») End Sub
Шаг 2 : В вышеупомянутом коде функция форматирования применяется к различным определяемым пользователем форматам даты для сегодняшней даты, если я запусту вышеуказанный код, это приведет к нижеупомянутому выводу в соответствующем диапазоне ячеек.
Сохраните вашу книгу как «Excel с поддержкой макросов». При нажатии на сохранить как в левом углу листа. Появится всплывающее окно «Сохранить как», теперь вы можете сохранить этот файл как книгу Excel с поддержкой макросов при сохранении как тип.
Еще раз, если вы откроете файл, вы можете нажать на клавишу быстрого доступа, например, Fn + Alt + F8, появится диалоговое окно «Макрос», где вы можете запустить сохраненный код макроса по вашему выбору или вы можете нажать Fn + Alt + F11 для полное окно макроса
То, что нужно запомнить
- Его можно использовать как процедуру или функцию в окне редактора VBA для форматирования даты.
- Обычно Excel хранит все даты в виде целых чисел.
- В аргументе функции Format значение Date необходимо указывать в двойных кавычках, чтобы получить правильный результат.
Рекомендуемые статьи
Это руководство по функции формата даты VBA. Здесь мы обсудим, как использовать функцию формата даты VBA в Excel, а также несколько практических примеров и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи —
- Полное руководство по VBA Workbook
- НЕПРАВИЛЬНАЯ функция в Excel
- Функция подсчета VBA
- Функция Excel XOR