VBA szöveg - Hogyan használjuk a Szöveg funkciót a VBA Excel programban? (példákkal)

A szöveg egy munkalapfüggvény az excelben, de használható a VBA-ban is, miközben a tartomány tulajdonságot használja vele, ennek a függvénynek a függvénye hasonló a munkalapfüggvényhez, és ugyanannyi argumentumot vesz fel, amelyek azok az értékek, amelyeket meg kell adni konvertált és meghatározott számformátumot.

Excel VBA szöveges funkció

A TEXT a munkalapon elérhető funkció, de sajnos nem beépített függvény az Excel VBA-ban. E funkció eléréséhez a VBA-ban a munkalap függvényosztály objektumot kell használnunk. Az Excel szövegfüggvénye egy számot alakít át egy meghatározott számformátumra.

Ennek a funkciónak mint argumentumnak az egyik problémája. Amikor a VBA munkalap funkcióosztályt használjuk, nem láthatjuk a világos szintaxist, mint a munkalapunkon. Csak azt mondja, hogy „Arg1” és „Arg2”.

  • Az Arg1 az az érték, amelyre a formázást alkalmazni kell.
  • Az Arg2 az a formázás, amelyet alkalmaznunk kell, és meg kell adnunk a formázási kódot.

Példák az Excel VBA szövegfunkciójára

Az alábbiakban bemutatjuk az Excel VBA szövegfunkció példáit.

1. példa

Hadd mutassak egy egyszerű példát a Szövegre a VBA Excel programban. Nézze meg a Visual Basic alábbi kódját.

Kód:

Alszöveg_példa1 () Dim FormattingValue as String Dim FormattingResult As String FormattingValue = 0.564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub

Először két változót deklaráltam stringként a VBA-ban.

Dim FormattingValue as String A Dim FormattingResult as String

Az első változóhoz hozzárendeltem a formázási számot, amelyet meg kell formáznunk.

FormattingValue = 0,564

Most egy másik változóhoz hozzárendeltem a TEXT függvényt.

FormattingResult = WorksheetFunction.Text (FormattingValue, "óó: mm: ss AM / PM")

Ha észreveszi, az idő formázását alkalmaztam, azaz: „óó: pp: ss AM / PM”.

Végül VBA üzenetdobozt alkalmaztam az eredmény megjelenítésére.

MsgBox FormattingResult

Amikor futtatom a kódot, a TEXT funkció időformátumot alkalmaz az 0.564 számra és az eredményt az alábbiak szerint jeleníti meg.

Szóval, ideje „ 01:32:10 PM ” lett.

2. példa

A dátumformátum példához hasonlóan, ebben a példában néhány kisebb változtatást is végrehajtottunk. Az alábbiakban található a kód.

Kód:

Alszöveg_Example2 () Dim FormattingValue mint karakterlánc Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub

Az előző kódhoz képest a Formázási értéket 0,565-ről 43585-re változtattam, és a formázási stílust “NN-HH-ÉÉÉÉ.” -Re módosítottam.

Ez a formátumot a 43585 számra alkalmazza dátumként, és az eredmény a következő.

A Formázás alkalmazása a cellákra

Láttunk egyszerű példákat. Most nézze meg, hogyan kell a cellákkal dolgozni egy munkalapon. Ebben a példában nézze meg az alábbi adatokat.

Mindezen számoknál alkalmaznunk kell az időformátumot. Ez a kód fogja alkalmazni a formázást.

Kód:

Alszöveg_példa3 () Dim k egész szám k = 1-10 celláig (k, 2). Érték = WorksheetFunction.Text (cellák (k, 1) .Value, "hh: mm: ss AM / PM") Következő k vége Alatti

Ez a kód végigvezet 10 cellát, és alkalmazza az alábbi formázást.

Így a VBA TEXT függvény segítségével számformázást alkalmazhatunk a cellákra.

érdekes cikkek...