Текстова функція Excel VBA

Текстова функція VBA використовується лише в VBA. Схоже, він перетворює числа в текст. Але насправді він перетворює числа у будь-який формат, наприклад, Час, Дата чи діапазон чисел. Для цього нам потрібно дозволити цю функцію включати як клас.

Якщо ми бачимо аргумент VBA Text, то побачимо, що він складається з Arg1 та Arg2, як показано нижче.

  • Arg1 - Тут ми помістимо значення, яке ми хочемо перетворити у стандартний формат.
  • Arg2 - І тут ми виберемо формат, у якому ми хочемо, щоб результат вийшов.

Обидві змінні будуть визначені як String.

Як користуватися текстовою функцією Excel VBA?

Ми дізнаємось, як використовувати функцію VBA Text з кількома прикладами в excel.

Ви можете завантажити цей шаблон Excel Text Excel тут - Шаблон текстового Excel VBA

Текстова функція VBA - приклад №1

Ми будемо перетворювати текст або цифри у стандартний формат у всіх майбутніх прикладах різними способами.

Для використання функції Text в VBA виконайте наведені нижче дії.

Крок 1: Відкрийте модуль, який доступний на вкладці меню Вставка, як показано нижче.

Крок 2: У відкритий модуль VBA запишіть підпроцедуру тексту VBA, як показано нижче.

Код:

 Sub VBA_Text1 () Кінець Sub 

Крок 3: Відповідно до синтаксису тексту VBA, нам знадобляться два аргументи. Отже, визначте першу змінну як String, куди ми будемо вводити введення, як показано нижче.

Код:

 Sub VBA_Text1 () Dim Input1 As String End Sub 

Крок 4: Тепер визначте іншу змінну, де ми отримаємо вихід. І це також було б як String.

Код:

 Sub VBA_Text1 () Dim Input1 As String Dim Output As String End Sub 

Крок 5: Тепер розглянемо будь-яке випадкове число, яке нам потрібно перетворити у стандартний формат. Це може бути число, яке ми хочемо бачити, або це може бути будь-яке випадкове число. Припустимо, якщо ми розглянемо десяткове число 0.123 і подивимось, що ми отримаємо.

Код:

 Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0, 112 Кінець Sub 

Крок 6: Тепер в іншій визначеній змінній, яка є Output, ми будемо використовувати її для розміщення тексту VBA. Тепер ця функція буде використовуватися як функція робочого листа, як показано нижче.

Крок 7: Виберіть функцію Текст VBA зі списку вбудованих функцій. Тепер, відповідно до синтаксису, ми будемо використовувати нашу змінну та формат, у який ми хочемо перетворити це у стандартний формат Arg1, у який ми хочемо перетворити вибране число.

Код:

 Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0.123 Вихід = WorksheetFunction.Text (Кінець підрозділу 

Крок 8: У Arg1 ми пишемо змінну Input1, яка має наше число, яке нам потрібно перетворити, і Arg2 буде форматом HH: MM: SS AM / PM.

Код:

 Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0, 112 Вихід = WorkheetFunction.Text (Input1, "hh: mm: ss AM / PM") Кінець Sub 

Крок 9: Тепер використовуйте MsgBox, щоб побачити, що виходить як вихід.

Код:

 Sub VBA_Text1 () Dim Input1 As String Dim Output As String Input1 = 0, 112 Вихід = WorkheetFunction.Text (Input1, "hh: mm: ss AM / PM") MsgBox Output End Sub 

Крок 10: Тепер запустіть код, натиснувши клавішу F5 або натиснувши кнопку Play. Ми отримаємо поле з повідомленням як 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 Output End Sub 

Крок 12: Тепер знову запустіть код. Ми отримаємо дату 18 жовтня 1933 року

Якщо ми знаємо точне число, за яким ми можемо отримати точну дату чи час, тоді це буде краще.

Текстова функція VBA - приклад №2

Є ще один прямий спосіб застосувати текст VBA. Для цього ми введемо деякі цифри на аркуші Excel, як показано нижче.

Для використання функції Text в VBA виконайте наведені нижче дії.

Крок 1. У модуль запишіть підкатегорію Тексту VBA, як показано нижче.

Код:

 Sub VBA_Text3 () Кінець Sub 

Крок 2: Виберіть діапазон комірок, де ми хочемо побачити вихід. Розглянемо ці клітинки від B1 до B5.

Код:

 Sub VBA_Text3 () Діапазон ("B1: B5"). Значення Кінець Sub 

Крок 3: Тепер виберіть діапазон комірок, який нам потрібно перетворити. Тут цей діапазон знаходиться від комірки A1 до A5 разом з функцією Workheet.

Код:

 Під VBA_Text3 () Діапазон ("B1: B5"). Значення = Діапазон ("A1: A5"). Робочий лист. Кінець Під 

Крок 4: Виділіть функцію "Індекс" разом з її оцінкою.

Код:

 Sub VBA_Text3 () Діапазон ("B1: B5"). Значення = Діапазон ("A1: A5"). Workheet.Evaluate ("INDEX (End Sub 

Крок 5: Тепер розглянемо функцію Текст і виберемо діапазон, який нам потрібно перетворити. А формат має бути в декількох нулях.

Код:

 Під VBA_Text3 () Діапазон ("B1: B5"). Значення = Діапазон ("A1: A5"). Workheet.Evaluate ("INDEX (TEXT (A1: A5, " "000000" "), )") Кінець Sub 

Крок 6: Тепер запустіть код, натиснувши клавішу F5 або натиснувши кнопку Play. Ми побачимо номери, доступні в стовпці A, тепер перетворені в текст з декількома нулями, що призводить до 6-значних чисел у колонці B.

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

Крок 7: У Arg2 введіть формат часу як HH: MM: SS і змініть комірку діапазону виходу на C1 до C5, не порушуючи вихід, отриманий з попереднього коду.

Код:

 Під VBA_Text3 () Діапазон ("C1: C5"). Значення = Діапазон ("C1: C5"). Workheet.Evaluate ("INDEX (TEXT (A1: A5, " hh: mm: ss ""), ) " ) Закінчення Sub 

Крок 8: Знову запустіть код. Ми побачимо, стовпець C заповниться форматом часу за замовчуванням.

Спробуємо ще один експеримент.

Крок 9: У цьому випадку ми змінимо діапазон вихідних комірок від D1 до D5, де ми побачимо текст VBA. І змініть Arg2 у форматі Date, який є DD-MMM-YYYY, як показано нижче.

Код:

 Підменю VBA_Text3 () Діапазон ("D1: D5"). Значення = Діапазон ("D1: D5"). Лист роботи. Оцініть ("INDEX (TEXT (A1: A5, " "DD-MMM-YYYY" "), )" ) Закінчення Sub 

Крок 10: Знову запустіть код. Цього разу ми побачимо, дата буде показана у колонці D. А ці дати у форматі DD або MMM-YYYY.

Ось так ми можемо змінити номери в будь-якому стандартному форматі, який ми хочемо.

Плюси і мінуси текстової функції Excel VBA

  • Це легко здійснити.
  • Ми можемо змінити номери в будь-якому форматі, який ми хочемо бачити.
  • Ми не можемо конвертувати будь-який текст у потрібний формат чисел.

Що потрібно пам’ятати

  • Текст VBA перетворює лише числа в числа. Але формат чисел буде стандартними форматами, такими як дата, час, комбінація дати та часу або будь-яка послідовність цифр.
  • Якщо ви застосовуєте та змінюєте числа у формат попередніх нулів, то поставте апостроф перед нулями. Таким чином, числа перетворяться в текст, і нулі з’являться.
  • Якщо ми спробуємо перетворити будь-який текст за допомогою тексту VBA, то він дасть вихід лише у вигляді тексту.
  • Щоб отримати точний вихід, ми повинні знати комбінацію цифр, яка забезпечить точний час та дату, які ми хочемо побачити.
  • Після завершення завжди зберігайте весь код у форматі, включеному в макрос, щоб код не був загублений.

Рекомендовані статті

Це посібник з текстової функції VBA. Тут ми обговорюємо, як використовувати функцію Text у excel VBA разом із практичними прикладами та шаблоном excel для завантаження. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Копіювати функцію вставки в VBA
  2. Функція Substring Excel
  3. Підписка VBA поза діапазоном
  4. Формула ЕКСЕЛЬНОГО РОЗМІРУ

Категорія: