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