VBA ir daudz virkņu funkciju, kas ļaus jums manipulēt un strādāt ar kodu un tekstu. Šajā apmācībā mēs aplūkosim funkcijas, kas ļaus jums iegūt virknes apakšvirknes, noņemt atstarpes no virknēm, pārvērst teksta vai virknes reģistru, salīdzināt virknes un citas noderīgas virkņu funkcijas.
Apakšvirknes izvilkšana
VBA kreisās virknes funkcija
Funkcija VBA pa kreisi ļauj izvilkt apakšvirkni no teksta vai virknes, sākot no kreisās puses. VBA kreisās virknes funkcijas sintakse ir šāda:
Pa kreisi (virkne, rakstzīmju skaits), kur:
- String - oriģinālais teksts.
- Rakstzīmju skaits - Vesels skaitlis, kas norāda rakstzīmju skaitu, kas jāizņem no sākotnējā teksta, sākot no sākuma.
Šis kods parāda, kā izmantot kreisās virknes funkciju, lai izvilktu dotās virknes pirmās četras rakstzīmes:
1234567891011 | Sub, izmantojot TheLeftStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "AutomateExcel"valueTwo = Pa kreisi (valueOne, 4)MsgBox vērtībaDivasBeigu apakš |
Rezultāts ir šāds:
Funkcija Kreisais ir ieguvis pirmos četrus AutomateExcel burtus, kas ir Automātiski.
VBA labās virknes funkcija
Funkcija VBA Right ļauj izvilkt apakšvirkni no teksta vai virknes, sākot no labās puses. VBA labās virknes funkcijas sintakse ir šāda:
Pa labi (virkne, rakstzīmju skaits), kur:
- String - oriģinālais teksts.
- Rakstzīmju skaits - Vesels skaitlis, kas norāda rakstzīmju skaitu, kas jāizvelk no sākotnējā teksta, sākot no beigām.
Šis kods parāda, kā izmantot pareizās virknes funkciju, lai iegūtu pēdējās četras virknes rakstzīmes:
1234567891011 | Sub, izmantojot funkcijuRightStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "AutomateExcel"valueTwo = Pa labi (valueOne, 4)MsgBox vērtībaDivasBeigu apakš |
Rezultāts ir šāds:
Funkcija Labā ir ieguvusi pēdējos četrus AutomateExcel burtus, kas ir xcel.
VBA vidējās virknes funkcija
Funkcija VBA Mid ļauj izvilkt apakšvirkni no teksta vai virknes, sākot no jebkuras norādītās virknes pozīcijas. VBA vidējās virknes funkcijas sintakse ir šāda:
Vidus (virkne, sākuma_pozīcija, [rakstzīmju skaits]), kur:
- String - oriģinālais teksts.
- Sākuma_pozīcija - pozīcija sākotnējā tekstā, no kuras funkcija sāks izvilkt.
- Rakstzīmju skaits (Neobligāti) - Vesels skaitlis, kas norāda rakstzīmju skaitu, kas jāizvelk no sākotnējā teksta, sākot no sākuma. Ja tukšs, funkcija MID atgriezīs visas rakstzīmes no sākuma_pozīcijas.
Šis kods parāda, kā izmantot funkciju String Mid, lai iegūtu četras rakstzīmes, sākot no virknes otrās pozīcijas vai rakstzīmes:
1234567891011 | Sub, izmantojotTheMidStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "AutomateExcel"valueTwo = Mid (valueOne, 2, 4)MsgBox vērtībaDivasBeigu apakš |
Rezultāts tiek izvadīts ziņojuma lodziņā:
Vidējā funkcija ir ieguvusi četrus AutomateExcel burtus, sākot no otrās rakstzīmes/pozīcijas/burta, kas ir utom.
Apakšvirknes pozīcijas atrašana
VBA Instr String funkcija
Funkcija VBA Instr atgriež apakšvirknes sākuma pozīciju citā virknē. Šī funkcija ir reģistrjutīga. Funkcijas VBA Instr String sintakse ir šāda:
Instr ([Sākt], Virkne, Apakšvirkne, [Salīdzināt]), kur:
- Sākt (Neobligāti) - tas norāda funkcijas sākuma pozīciju, no kuras meklēt. Ja tā ir tukša, tiek izmantota noklusējuma vērtība 1.
- String - oriģinālais teksts.
- Apakšvirkne- Apakšvirkne sākotnējā tekstā, kuras atrašanās vietu vēlaties atrast.
- Salīdzināt (Neobligāti)- Tas nosaka veicamā salīdzinājuma veidu. Ja tas ir tukšs, tiek izmantots binārais salīdzinājums.
-vbBinaryCompare - Binārs salīdzinājums (lielie un mazie burti tiek uzskatīti par atšķirīgiem)
-vbTextCompare - Teksta salīdzinājums (lielie un mazie burti tiek uzskatīti par vienādiem)
-vbDatabaseCompare - datu bāzu salīdzinājums (šī opcija tiek izmantota tikai programmā Microsoft Access, un tas ir salīdzinājums, pamatojoties uz datu bāzi)
Šis kods parāda, kā izmantot funkciju Instr String, lai galvenajā virknē pirmo reizi noteiktu apakšvirknes “Th” parādīšanos:
123456789101112 | Sub, izmantojotInstrStringFunction ()Dim vērtībaViena kā virkneApakšvirknes blāvā pozīcija kā vesels skaitlisvalueOne = "Šis ir teksts"positionofSubstring = InStr (1, valueOne, "Th")Atkļūdošana. Apakšvirknes drukāšanas pozīcijaBeigu apakš |
Rezultāts (tiek parādīts tūlītējā logā) ir šāds:
Funkcija Instr ir atgriezusi apakšvirknes “Th” pirmās parādīšanās pozīciju, kas ir 1. Ņemiet vērā, ka šī funkcija ietver atstarpes skaitīšanā.
VBA InstrRev virkņu funkcija
Funkcija VBA InstrRev atgriež apakšvirknes sākuma pozīciju citā virknē, bet sāk skaitīt pozīciju no virknes beigām. Šī funkcija ir reģistrjutīga. VBA InstrRev virkņu funkcijas sintakse ir šāda:
InstrRev (virkne, apakšvirkne, [sākums], [salīdzināt]), kur:
- String - oriģinālais teksts.
- Apakšvirkne- Apakšvirkne sākotnējā tekstā, kuras atrašanās vietu vēlaties atrast.
- Sākt (Neobligāti) - tas norāda pozīciju, no kuras sākt meklēšanu. Ja tukšs, funkcija sāk meklēt no pēdējās rakstzīmes.
- Salīdzināt (Neobligāti)- Tas nosaka veicamā salīdzinājuma veidu. Ja tas ir tukšs, tiek izmantots binārais salīdzinājums.
-vbBinaryCompare - Binārs salīdzinājums (lielie un mazie burti tiek uzskatīti par atšķirīgiem)
-vbTextCompare - Teksta salīdzinājums (lielie un mazie burti tiek uzskatīti par vienādiem)
-vbDatabaseCompare - datu bāzu salīdzinājums (šī opcija tiek izmantota tikai programmā Microsoft Access, un tas ir salīdzinājums, pamatojoties uz datu bāzi)
Šis kods parāda, kā izmantot InstrRev virknes funkciju, lai noteiktu pirmo virknes “Th” parādīšanos galvenajā virknē, sākot no virknes beigām:
1234567891011 | Sub, izmantojotInstrRevStringFunction ()Dim vērtībaViena kā virkneApakšvirknes blāvā pozīcija kā vesels skaitlisvalueOne = "Šis ir teksts"positionofSubstring = InStrRev (valueOne, "Th")Atkļūdošana. Apakšvirknes drukāšanas pozīcijaBeigu apakš |
Rezultāts tiek parādīts tūlītējā logā:
Funkcija InstrRev ir atgriezusi apakšvirknes “Th” pirmās parādīšanās vietu, bet sāk skaitīšanu no beigām, kas ir 9. Ņemiet vērā, ka šī funkcija ietver atstarpes skaitīšanā.
Atstarpju noņemšana no virknes
VBA LTrim virkņu funkcija
Funkcija VBA LTrim no teksta vai virknes noņem visas vadošās atstarpes. VBA LTrim virkņu funkcijas sintakse ir šāda:
LTrim (virkne), kur:
- String - oriģinālais teksts.
Šis kods parāda, kā izmantot funkciju VBA LTrim, lai noņemtu ievadītās atstarpes dotajā virknē:
123456789101112 | Sub, izmantojot TheLTrimStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "Šī ir vietnes adrese https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)MsgBox valueOneMsgBox vērtībaDivasBeigu apakš |
Rezultāti ir šādi:
Funkcija LTrim ir atcēlusi divas vērtības, kas ir parādītas otrajā ziņojumu lodziņā.
VBA RTrim virkņu funkcija
Funkcija VBA RTrim no teksta vai virknes noņem visas atstarpes. VBA RTrim virknes funkcijas sintakse ir šāda:
RTrim (virkne), kur:
- String - oriģinālais teksts.
Šis kods parāda, kā izmantot funkciju VBA RTrim, lai noņemtu atstarpes dotajā virknē:
123456789101112 | Sub, izmantojot TheRTrimStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "Šī ir vietnes adrese https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)MsgBox valueOneMsgBox vērtībaDivasBeigu apakš |
Sniegtie rezultāti ir:
Funkcija RTrim ir noņemusi atstarpes divām vērtībām, kas parādītas otrajā ziņojumu lodziņā.
VBA apgriešanas virkņu funkcija
VBA apgriešanas funkcija no teksta vai virknes noņem visas sākuma un beigu vietas. VBA apgriešanas virknes funkcijas sintakse ir šāda:
Apgriezt (virkne), kur:
- String - oriģinālais teksts.
Šis kods parāda, kā izmantot VBA apgriešanas funkciju, lai noņemtu norādītās virknes sākuma un beigu atstarpes:
123456789101112 | Sub, izmantojot TheTrimStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "Šī ir vietnes adrese https://easyexcel.net/excel/"valueTwo = Apgriezt (valueOne)MsgBox valueOneMsgBox vērtībaDivasBeigu apakš |
Rezultāti ir šādi:
Apgriešanas funkcija ir noņemusi priekšējās un pēdējās atstarpes vērtetwo, kas parādīts otrajā ziņojumu lodziņā.
VBA lietu funkcijas
VBA LCase virkņu funkcija
Funkcija VBA LCase pārvērš burtus tekstā vai virknē par mazajiem burtiem. VBA LCase virkņu funkcijas sintakse ir šāda:
LCase (virkne), kur:
- String - oriģinālais teksts.
Šis kods parāda, kā izmantot funkciju LCase String, lai visus dotās virknes burtus pārvērstu par mazajiem burtiem:
1234567891011 | Sub, izmantojot TheLCaseStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "Šis ir produkts"valueTwo = LCase (valueOne)MsgBox vērtībaDivasBeigu apakš |
Rezultāts ir šāds:
Funkcija LCase ir pārveidojusi visus virknes burtus ar mazajiem burtiem.
VBA UCase virkņu funkcija
Funkcija VBA UCase pārvērš burtus tekstā vai virknē par lielajiem burtiem. VBA UCase virkņu funkcijas sintakse ir šāda:
UCase (virkne), kur:
- String - oriģinālais teksts.
Šis kods parāda, kā izmantot UCase virknes funkciju, lai visus dotās virknes burtus pārvērstu par lielajiem burtiem:
1234567891011 | Sub, izmantojot TheUCaseStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "tas ir produkts"valueTwo = UCase (valueOne)MsgBox vērtībaDivasBeigu apakš |
Rezultāts ir šāds:
Funkcija UCase ir pārveidojusi visus virknes burtus ar lielajiem burtiem.
Funkcija VBA StrConv
Funkcija VBA StrConv var konvertēt burtus tekstā vai virknē uz lielajiem, mazajiem, lielajiem un unikodiem atkarībā no jūsu norādītā konvertēšanas veida. VBA StrConv virkņu funkcijas sintakse ir šāda:
StrConv (virkne, reklāmguvums, [LCID]), kur:
- String - oriģinālais teksts.
- Reklāmguvums - vēlamais reklāmguvuma veids.
- [LCID] (Neobligāti) -Neobligāts parametrs, kas norāda LocaleID. Ja tas ir tukšs, tiek izmantota sistēmas LocaleID.
Šis kods parāda, kā izmantot StrConv virknes funkciju, lai pārvērstu virkni pareizos burtos:
1234567891011 | Sub, izmantojotTheStrConvStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "šis ir produkts"valueTwo = StrConv (valueOne, vbProperCase)MsgBox vērtībaDivasBeigu apakš |
Rezultāts ir šāds:
Izmantojot reklāmguvuma parametru, jūs norādāt veicamā reklāmguvuma veidu.
- vbLowerCase pārvērš visus teksta burtus par mazajiem burtiem.
- vbUpperCase pārvērš visus teksta burtus lielajos burtos.
- vbProperCase pārvērš katra teksta vārda pirmo burtu ar lielajiem burtiem, bet visi pārējie burti tiek saglabāti kā mazie.
- vbUnicode pārvērš virkni par unikodu.
- vbFromUnicode pārvērš virkni no unikoda uz sistēmas noklusējuma koda lapu.
Stīgu salīdzināšana
Funkcija VBA StrComp
VBA StrComp virkņu funkcija ļauj salīdzināt divas virknes. Funkcija atgriež:
- 0, ja abas virknes sakrīt
- -1, ja virkne1 ir mazāka par virkni2
- 1, ja virkne1 ir lielāka par virkni2
- Nulles vērtība, ja kāda no virknēm bija Null
Šis kods parāda, kā izmantot funkciju StrComp, lai salīdzinātu divas virknes:
123456789101112 | Sub, izmantojotTheStrCompStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virkneNeskaidrs salīdzinājuma rezultāts kā vesels skaitlisvalueOne = "AutomateExcel"valueTwo = "AutomateExcel"resultofComparison = StrComp (valueOne, valueTwo)Atkļūdošana. Salīdzinājuma izdrukas rezultātsBeigu apakš |
Rezultāts ir šāds:
Funkcija StrComp ir atradusi precīzu atbilstību starp abām virknēm un atgriezusi 0.
VBA līdzīgs operators
VBA patīk operators ļauj salīdzināt tekstu vai virkni ar modeli un redzēt, vai ir atbilstība. Jūs parasti izmantojat līdzīgu operatoru kopā ar aizstājējzīmēm. Šis kods parāda, kā izmantot līdzīgo operatoru:
123456789101112 | Sub, izmantojot TheLikeOperatorInVBA ()Dim vērtībaViena kā virknevalueOne = "Apskatīsim rezultātu"If valueOne Like "*view*" TadMsgBox "Ir atbilstība, šajā virknē ir vārds skats"CitādiMsgBox "Atbilstība netika atrasta"Beigas JaBeigu apakš |
Rezultāts ir šāds:
Aizstājējzīmes, kuras varat izmantot kopā ar operatoru Patīk, lai atrastu modeļu atbilstības, ir šādas:
- ? kas atbilst vienai rakstzīmei
- # kas atbilst vienam ciparam
- * kas atbilst nullei vai vairāk rakstzīmēm
Šis kods parāda, kā jūs varētu izmantot līdzīgo operatoru un? aizstājējzīmi, kas atbilst jūsu koda modelim:
123456789101112 | Sub, izmantojot TheLikeOperatorWithAWildcardInVBA ()Dim vērtībaViena kā virknevalueOne = "The"Ja valueOne Like "?? e" TadMsgBox "Ir atbilstība, atrasts atbilstošs modelis"CitādiMsgBox "Nav atrasta atbilstība"Beigas JaBeigu apakš |
Rezultāts ir šāds:
Citas noderīgas VBA virkņu funkcijas
VBA aizvietošanas virkņu funkcija
Funkcija VBA Aizstāt aizstāj virkņu rakstzīmju kopu ar citu rakstzīmju kopu. Funkcijas VBA aizvietošanas sintakse ir šāda:
Aizstāt (virkne, atrast, aizstāt, [sākt], [saskaitīt], [salīdzināt]), kur:
- String - oriģinālais teksts.
- Atrast - apakšvirkne, kas jāmeklē sākotnējā tekstā.
- Aizstāt - apakšvirkni, ar kuru aizstāt apakšvirkni Atrast.
- Sākt (Neobligāti)- pozīcija, lai sāktu meklēšanu no sākotnējā teksta. Ja tas ir tukšs, tiek izmantota vērtība 1 un funkcija sākas no pirmās rakstzīmes vietas.
- Skaits (Neobligāti)- Aizvietošanas virknes atrašanas gadījumu skaits sākotnējā tekstā, kas jāaizstāj. Ja tas ir tukšs, tiek aizstāti visi atrašanas apakšvirknes gadījumi.
- Salīdzināt (Neobligāti)- Tas nosaka veicamā salīdzinājuma veidu. Ja tas ir tukšs, tiek izmantots binārais salīdzinājums.
-vbBinaryCompare - Binārs salīdzinājums
-vbTextCompare - Teksta salīdzinājums
-vbDatabaseCompare - datu bāzu salīdzinājums (šī opcija tiek izmantota tikai programmā Microsoft Access, un tas ir salīdzinājums, pamatojoties uz datu bāzi.)
Šis kods parāda, kā izmantot funkciju Aizstāt virkni:
1234567891011 | Sub, izmantojot TheReplaceStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "ProductABC"valueTwo = Aizstāt (valueOne, "ABC", "XYZ")MsgBox vērtībaDivasBeigu apakš |
Rezultāts ir šāds:
Funkcija Aizstāt atrada apakšvirkni ABC ProductABC un aizstāja to ar apakšvirkni XYZ.
Funkcija VBA StrReverse
Funkcija VBA StrReverse apgriež rakstzīmes noteiktā tekstā vai virknē. VBA StrReverse String funkcijas sintakse ir šāda:
StrReverse (virkne), kur:
- String - oriģinālais teksts.
Šis kods parāda, kā izmantot funkciju VBA StrReverse, lai mainītu rakstzīmes virknē Product:
1234567891011 | Sub, izmantojotTheStrReverseStringFunction ()Dim vērtībaViena kā virkneDim vērtība: divas kā virknevalueOne = "Produkts"valueTwo = StrReverse (valueOne)MsgBox vērtībaDivasBeigu apakš |
Rezultāts ir šāds:
VBA Len stīgu funkcija
Funkcija VBA Len atgriež rakstzīmju skaitu teksta virknē. VBA Len String funkcijas sintakse ir šāda:
Len (String) kur:
- String - oriģinālais teksts.
Šis kods parāda, kā izmantot Len String funkciju, lai noteiktu virknes AutomateExcel garumu:
1234567891011 | Sub, izmantojot TheLenFunction ()Dim vērtībaViena kā virkneDim stringLength As IntegervalueOne = "AutomateExcel"stringLength = Len (valueOne)Atkļūdot. Drukāt virkni GarumsBeigu apakš |
Rezultāts ir šāds:
Funkcija Len ir saskaitījusi visas rakstzīmes AutomateExcel, kas ir 13 burti.