Šī apmācība parādīs, kā izmantot teksta funkciju VBA.
Funkcija Teksts tiek izmantota Excel darblapā, lai atgrieztu virknes daļu noteiktā formātā. Funkcija Teksts nav VBA funkcija, bet to var izmantot VBA, atsaucoties uz darblapas funkcijas objektu.
WorksheetFunction.Text
Tāpēc VBA sintakse būtu šāda:
= WorksheetFunction.Text (Arg1, Arg2)
kur Arg1 ir sākotnējā virkne un Arg2 ir tās virknes formāts, kuru mēs vēlamies atgriezt.
1234567 | SubtestsWSFunction ()Dim dte kā virkneDim strD Kā virknedte = "08/05/2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDBeigu apakš |
Iepriekš minētajā piemērā virknes mainīgais dte saglabā datumu. Funkcija Teksts atgriež datuma mēneša daļu.
Skaitļu formatēšana, izmantojot teksta funkciju
Mēs varam izmantot teksta funkciju, lai formatētu ciparus mūsu VBA kodā.
1234567 | ApakšformātsCurrency ()Dim strNum kā virkneDim strFormat kā virknestrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0.00")MsgBox strFormatBeigu apakš |
Iepriekš minētajā piemērā atgrieztā virkne būtu USD 75 896,13.
Citi skaitļu formatēšanas piemēri, izmantojot teksta funkciju, ir šādi:
12345678 | = WorksheetFunction.Text (75896.125, "0")tas atgriezīsies: "75896"= WorksheetFunction.Text (75896.125, "0.0")tas atgriezīsies: "75896.1"= WorksheetFunction.Text (75896.125, "#, ## 0")tas atgriezīsies: "75,896" |
Tomēr programmā Excel ir iebūvēta VBA funkcija, kuru mēs varam izmantot teksta funkcijas vietā, ja vēlamies formatēt datumus un skaitļus VBA. To sauc par formāta funkciju.
VBA formāta funkcija
Ņemot iepriekš minēto piemēru, nevis izmantojot WorksheetFunction. Teksts, mēs varam vienkārši izmantot funkciju Format, lai sasniegtu tādus pašus rezultātus.
12345678 | = Formāts (75896.125, "0")tas atgriezīsies: "75896"= Formāts (75896.125, "0.0")tas atgriezīsies: "75896.1"= Formāts (75896.125, "#, ## 0")tas atgriezīsies: "75,896" |
Līdzīgi mēs varam izmantot funkciju Format, lai formatētu virknes datuma daļas.
1234567 | Sub TestFormatFunction ()Dim dte kā virkneDim strD Kā virknedte = "08/05/2021"strD = formāts (dte, "mmmm")MsgBox strDBeigu apakš |