Функция VBA DateValue
Работая в VBA, мы работаем с датами. Мы назначаем даты различным переменным или мы можем использовать функцию DATEVALUE для этого. DATEVALUE - это и таблица, и функция Visual Basic. В листе он дает серийную дату. Когда мы используем эту функцию в VBA, она дает нам значение даты. Как я уже говорил выше, функция DATEVALUE, используемая в VBA, возвращает значение даты. Тип данных, который мы использовали для наших переменных при использовании этой функции - дата. Это несколько похоже на функцию рабочего листа. Как мы используем эту функцию, довольно просто, она принимает дату в качестве аргумента.
Синтаксис DateValue в Excel VBA
Синтаксис для функции VBA DateValue в Excel выглядит следующим образом:
Что эта функция делает, что она принимает значение или аргумент в виде строки и возвращает ее к дате. Почему мы используем эту функцию, потому что мы работаем с большим количеством данных, и каждый человек не похож, поэтому будет разница в вводе форматов даты для каждого человека. Если нам необходимо выполнить некоторые вычисления по датам в данных, то нам придется преобразовать каждый другой формат дат, имеющихся в данных, в единый формат, а затем выполнить расчет. Теперь представьте большой кусок данных с большим количеством разных типов дат.
Давайте рассмотрим несколько примеров того, как мы можем использовать эту функцию DATEVALUE в VBA, на нескольких примерах, которые дадут нам более четкое представление о том, как эта функция работает.
Как использовать VBA DateValue в Excel?
Мы узнаем, как использовать функцию VBA DateValue с несколькими примерами в Excel.
Вы можете скачать этот шаблон VBA DateValue Excel здесь - VBA DateValue Excel TemplateПример № 1 - VBA DateValue
Давайте начнем с очень простого шага. Мы присвоим переменной значение даты в виде строки, а затем напечатаем значение даты для этой переменной.
Шаг 1: Теперь, когда мы окажемся внутри редактора, у нас будет много опций в заголовке, со вкладки вставки вставьте новый модуль в редактор, где мы выполним все демонстрационные примеры,
Шаг 2: Теперь давайте начнем нашу процедуру, как показано ниже.
Код:
Sub Sample () End Sub
Шаг 3: Давайте объявим переменную как тип данных Date, как показано ниже,
Код:
Sub Sample () Dim A As Дата Конец Sub
Шаг 4: Теперь давайте предоставим переменную A с некоторым значением, используя функцию DATEVALUE, как показано ниже.
Код:
Sub Sample () Dim A As Date A = DateValue ("02/02/2019") End Sub
Шаг 5: Я указал дату в двойных кавычках, чтобы рассматривать ее как строку, теперь использую функцию msgbox для отображения значения, хранящегося в A.
Код:
Sub Sample () Dim A As Date A = DateValue ("02/02/2019") MsgBox A End Sub
Шаг 6: Выполните приведенный выше код и посмотрите результат.
Мы знаем, что в VBA дата указывается в символах #, а строка - в «двойных кавычках». Но DATEVALUE меняет значение на дату.
Пример №2 - VBA DateValue
Теперь давайте примем данные от пользователя, потому что пользователь может предоставить дату в любом формате. Мы преобразуем значение, указанное пользователем в дате, используя функцию DATEVALUE.
Шаг 1: Из Вставки выберите новый модуль в редакторе.
Шаг 2: Теперь давайте запустим еще одну подпроцедуру следующим образом.
Код:
Sub Sample1 () End Sub
Шаг 3: Объявите две переменные как даты, так как мы будем принимать значение из ввода от пользователя в одной переменной, а в другой мы будем использовать функцию DATEVALUE, чтобы преобразовать ее в дату.
Код:
Sub Sample1 () Dim InputDate As Date, OutputDate As Date End Sub
Шаг 4: В переменной входных данных возьмите ввод от пользователя, используя функцию поля ввода.
Код:
Sub Sample1 () Dim InputDate As Date, OutputDate As Date InputDate = InputBox ("Введите дату") End Sub
Шаг 5: В переменной Outputdate изменим дату, которую мы получаем в качестве входных данных, с помощью функции DATEVALUE, как показано ниже.
Код:
Sub Sample1 () Dim InputDate As Date, OutputDate As Date InputDate = InputBox («Введите дату») OutputDate = DateValue (InputDate) End Sub
Шаг 6: Теперь давайте покажем значение, которое мы имеем сейчас, используя функцию msgbox.
Код:
Sub Sample1 () Dim InputDate As Date, OutputDate As Date InputDate = InputBox («Введите дату») OutputDate = DateValue (InputDate) MsgBox OutputDate End Sub
Шаг 7: Запустите приведенный выше код и введите следующую дату.
Шаг 8: Кликните OK и увидите окончательный результат следующим образом.
Хотя формат даты от пользователя был другим, мы успешно преобразовали его в дату.
Пример № 3 - VBA DateValue
Мы можем видеть даты в нашем листе и как использовать функцию DATEVALUE на них? У меня есть дата в ячейке A1 следующим образом.
Давайте изменим его на стандартную дату, которая у нас есть.
Шаг 1: Снова в том же модуле запустите другую подпроцедуру, как показано ниже.
Код:
Sub Sample2 () End Sub
Шаг 2: Объявите переменную как Date, как показано ниже.
Код:
Sub Sample2 () Dim Dt As Дата Конец Sub
Шаг 3: Теперь в переменной Dt сохраните значение ячейки A1, как показано ниже, используя функцию DATEVALUE.
Код:
Sub Sample2 () Dim Dt As Date Dt = DateValue (Sheet1.Range ("A1"). Value) End Sub
Шаг 4: Теперь давайте покажем значение, хранящееся в нашей переменной.
Код:
Sub Sample2 () Dim Dt As Date Dt = DateValue (Sheet1.Range ("A1"). Значение) MsgBox Dt End Sub
Шаг 5: Теперь выполните приведенный выше код и давайте посмотрим на результат.
То, что нужно запомнить
- DATEVALUE - это функция даты в VBA.
- Это похоже на функцию рабочего листа, функция рабочего листа дает нам серийные номера даты, а в VBA - DATEVALUE.
- Эта функция принимает аргумент в качестве даты в строке и преобразует ее в строку.
Рекомендуемые статьи
Это руководство по VBA DateValue. Здесь мы обсудим, как использовать функцию Excel VBA DateValue вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
- Функция копирования и вставки в VBA
- Формат даты Excel VBA
- Индекс VBA вне диапазона
- Excel ISNUMBER Formula