Текстовая функция Excel VBA
Текстовая функция VBA используется только в VBA. Кажется, что он преобразует числа в текст. Но в действительности он конвертирует числа в любой формат, например, время, дату или диапазон номеров. Для этого нам нужно разрешить эту функцию для включения в качестве класса.
Если мы увидим аргумент VBA Text, то увидим, что он состоит из Arg1 и Arg2, как показано ниже.
- Arg1 - здесь мы поместим значение, которое мы хотим преобразовать в стандартный формат.
- Arg2 - и здесь мы выберем формат, в котором мы хотим видеть вывод, как.
Обе переменные будут определены как String.
Как использовать текстовую функцию Excel VBA?
Мы научимся использовать текстовую функцию VBA на нескольких примерах в Excel.
Вы можете скачать этот текстовый шаблон VBA Excel здесь - текстовый шаблон VBA ExcelТекстовая функция VBA - Пример # 1
Мы будем преобразовывать текст или числа в стандартный формат во всех последующих примерах различными способами.
Выполните следующие шаги, чтобы использовать функцию текста в VBA.
Шаг 1: Откройте модуль, который доступен на вкладке меню « Вставка », как показано ниже.
Шаг 2: В открытом модуле VBA напишите подпроцедуру VBA Text, как показано ниже.
Код:
Sub VBA_Text1 () End Sub
Шаг 3: в соответствии с синтаксисом VBA Text, нам понадобятся два аргумента. Итак, определите первую переменную как String, где мы будем вводить данные, как показано ниже.
Код:
Sub VBA_Text1 () Dim Input1 As String End Sub
Шаг 4: Теперь определите другую переменную, в которую мы будем получать выходные данные. И это также будет как String.
Код:
Sub VBA_Text1 () Dim Input1 As String Dim Output - как конец строки Sub
Шаг 5: Теперь рассмотрим любое случайное число, которое нам нужно преобразовать в стандартный формат. Это может быть число, которое мы хотим видеть, или произвольное число. Предположим, если мы рассмотрим десятичное число 0.123 и посмотрим, что мы получим.
Код:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 End Sub
Шаг 6: Теперь в другой определенной переменной, которая называется Output, мы будем использовать ее для помещения текста VBA. Теперь эта функция будет использоваться в качестве функции рабочего листа, как показано ниже.
Шаг 7: Выберите функцию VBA Text из списка встроенных функций. Теперь в соответствии с синтаксисом мы будем использовать нашу переменную и формат, в который мы хотим преобразовать это как стандартный формат Arg1, в который мы хотим преобразовать это выбранное число.
Код:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (End Sub
Шаг 8: В Arg1 мы записываем переменную Input1, в которой есть наш номер, который нам нужно преобразовать, и Arg2 будет иметь формат HH: MM: SS AM / PM.
Код:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "чч: мм: сс AM / PM") End Sub
Шаг 9: Теперь используйте MsgBox, чтобы увидеть, что получится как Output.
Код:
Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "чч: мм: сс AM / PM") MsgBox Выходной конец Sub
Шаг 10: Теперь запустите код, нажав клавишу F5 или нажав кнопку воспроизведения. Мы получим окно сообщения с сообщением как 02:57:07 .
Мы увидим другой раз, если выберем другой номер.
Шаг 11: Теперь давайте изменим номер входа на 12345 и изменим формат вывода в DD-MMM-YYYY, как показано ниже.
Код:
Sub VBA_Text2 () Dim Input1 As String Dim Output As String Input1 = 12345 Output = WorksheetFunction.Text (Input1, "DD-MM-yyyy") MsgBox Выходной конец Sub
Шаг 12: Теперь снова запустите код. Мы получим дату 18 октября 1933 г.
Если мы знаем точное число, по которому мы можем получить точную дату или время, тогда это будет лучше.
Текстовая функция VBA - Пример №2
Существует еще один прямой способ применения VBA Text. Для этого мы введем некоторые цифры в таблицу Excel, как показано ниже.
Выполните следующие шаги, чтобы использовать функцию текста в VBA.
Шаг 1: В модуле напишите подкатегорию VBA Text, как показано ниже.
Код:
Sub VBA_Text3 () End Sub
Шаг 2: Выберите диапазон ячеек, в котором мы хотим увидеть вывод. Давайте рассмотрим эти ячейки от B1 до B5.
Код:
Sub VBA_Text3 () Range ("B1: B5"). Значение End Sub
Шаг 3: Теперь выберите диапазон ячеек, которые нам нужно конвертировать. Здесь этот диапазон от ячейки A1 до A5 вместе с функцией Worksheet.
Код:
Sub VBA_Text3 () Range ("B1: B5"). Значение = диапазон ("A1: A5"). Рабочий лист. End Sub
Шаг 4: Выберите функцию индекса, оценив ее.
Код:
Sub VBA_Text3 () Range ("B1: B5"). Значение = диапазон ("A1: A5"). Worksheet.Evaluate ("INDEX (End Sub
Шаг 5: Теперь рассмотрим функцию Text и выберите диапазон, который нам нужно преобразовать. И формат будет в нескольких нулях.
Код:
Sub VBA_Text3 () Range ("B1: B5"). Value = Range ("A1: A5"). Worksheet.Evaluate ("INDEX (TEXT (A1: A5, " "'000000" "), )") End Sub
Шаг 6: Теперь запустите код, нажав клавишу F5 или нажав кнопку воспроизведения. Мы увидим числа, доступные в столбце A, теперь преобразованы в текст с несколькими нулями, что приводит к 6 цифрам в столбце B.
Теперь давайте посмотрим, что произойдет, если мы снова изменим формат вывода с ведущих нулей на формат времени.
Шаг 7: В Arg2 установите формат времени как ЧЧ: ММ: СС и измените ячейку выходного диапазона с С1 на С5, не нарушая вывод, полученный из предыдущего кода.
Код:
Sub VBA_Text3 () Range ("C1: C5"). Значение = диапазон ("C1: C5"). Рабочий лист. Оценить ("INDEX (TEXT (A1: A5, " "чч: мм: сс" "), )" ) End Sub
Шаг 8: Снова запустите код. Мы увидим, столбец C будет заполнен форматом времени по умолчанию.
Давайте попробуем другой эксперимент.
Шаг 9: Здесь мы изменим диапазон выходных ячеек с D1 на D5, где мы увидим текст VBA. И измените Arg2, в формате даты, который является DD-MMM-YYYY, как показано ниже.
Код:
Sub VBA_Text3 () Range ("D1: D5"). Значение = диапазон ("D1: D5"). Worksheet.Evaluate ("INDEX (TEXT (A1: A5, " "DD-MMM-YYYY" "), )" ) End Sub
Шаг 10: Снова запустите код. На этот раз мы увидим, что дата будет отображена в столбце D. И эти даты будут в формате DD-MMM-YYYY.
Вот как мы можем изменить числа в любом стандартном формате, который мы хотим.
Плюсы и минусы текстовой функции Excel VBA
- Это легко реализовать.
- Мы можем изменить номера в любом формате, который мы хотим видеть.
- Мы не можем преобразовать любой текст в требуемый числовой формат.
То, что нужно запомнить
- VBA Text преобразует только числа в числа. Но формат чисел будет стандартным форматом, таким как дата, время, комбинация даты и времени или любая последовательность цифр.
- Если вы применяете и изменяете числа в формат предыдущих нулей, поместите апостроф перед нулями. Так что числа будут преобразованы в текст и появятся нули.
- Если мы попытаемся преобразовать какой-либо текст с помощью VBA Text, он выдаст только текст.
- Чтобы получить точный вывод, мы должны знать комбинацию чисел, которая будет указывать точное время и дату, которую мы хотим увидеть.
- После этого всегда сохраняйте полный код в формате с поддержкой макросов, чтобы код не был потерян.
Рекомендуемые статьи
Это руководство к текстовым функциям VBA. Здесь мы обсудим, как использовать функцию Text в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
- Функция копирования и вставки в VBA
- Функция подстроки Excel
- Индекс VBA вне диапазона
- Excel ISNUMBER Formula