Ši pamoka parodys, kaip naudoti funkciją Pakeisti VBA pakeisti teksto eilutes.
Pakeisti funkciją
Funkcija „VBA Replace“ grąžina eilutę su pakeitimais. Naudojant pasirenkamus parametrus, nauja eilutė gali prasidėti pradinėje eilutėje nurodytoje vietoje ir baigiasi pradinės eilutės pabaigoje.
VBA Pakeisti pakeistą eilutę
Funkcija „VBA Replace“ gali būti naudojama norint pakeisti bet kurią rastą antrinę eilutę, esančią kiekvienoje jos dalyje.
12345678910111213141516 | SubpakeistiExample_1 ()„MsgBox Replace“ („ABCABCABC“, „A“, „!“)"Rezultatas:"! BC! BC! BC "„MsgBox Replace“ („Man patinka rožinė, raudona ir juoda“, „rožinė“, „violetinė“)„Rezultatas:„ Man patinka violetinė, raudona ir juoda “„MsgBox“ pakeitimas („A, B, C, A, B, C, A, B, C“, „,“, „,“)„Rezultatas:„ ABCABCABC “„MsgBox Replace“ („ABCABCABC“, „ABC“, „!“)Rezultatas: "!!!"„MsgBox Replace“ („ABCABCABC“, „ABc“, „!“)„Rezultatas:„ ABCABCABC “„MsgBox Replace“ („ABCABCABC“, „ZBC“, „!“)„Rezultatas:„ ABCABCABC “Pabaiga Sub |
VBA pakeisti pradinę padėtį
Funkcija „VBA Replace“ gali būti naudojama norint pakeisti bet kurią rastą antrinę eilutę, esančią kiekvienoje jos dalyje. Jei priskiriame pradžios poziciją, rezultatas bus pradinės eilutės dalis po to pradžios taško.
12345678910111213 | Antras pakeitimasPavyzdys_2 ()„MsgBox Replace“ („ABCABCABC“, „A“, „123“) „Rezultatas:„ 123BC123BC123BC “„MsgBox Replace“ („ABCABCABC“, „A“, „123“, 2) „Rezultatas:„ BC123BC123BC “„MsgBox Replace“ („ABCABCABC“, „A“, „123“, 7) „Rezultatas:„ 123BC “„MsgBox Replace“ („ABCABCABC“, „A“, „123“, 8) „Rezultatas:„ BC “„MsgBox Replace“ („ABCABCABC“, „ABC“, „!@“) 'Rezultatas: "!@!@!@"„MsgBox Replace“ („ABCABCABC“, „ABC“, „!@“, 2) „Rezultatas:„ BC!@!@“„MsgBox Replace“ („ABCABCABC“, „ABC“, „!@“, 6) „Rezultatas:„ C!@“„MsgBox Replace“ („ABCABCABC“, „ABC“, „!@“, 7) „Rezultatas:„!@“„MsgBox Replace“ („ABCABCABC“, „ABC“, „!@“, 8) „Rezultatas:„ BC “Pabaiga Sub |
VBA pakeičia tik kelis atvejus
Funkcija „VBA Replace“ gali būti naudojama norint pakeisti bet kurią rastą antrinę eilutę, esančią kiekvienoje jos dalyje. Mes pasirinktinai galime nuspręsti, kiek įvykių reikia pakeisti.
123456789101112 | SubpakeistiExample_3 ()„MsgBox Replace“ („ABCABCABC“, „A“, „12“) „Rezultatas:„ 12BC12BC12BC “„MsgBox Replace“ („ABCABCABC“, „A“, „12“,, 1) „Rezultatas:„ 12BCABCABC “„MsgBox Replace“ („ABCABCABC“, „A“, „12“,, 2) „Rezultatas:„ 12BC12BCABC “„MsgBox Replace“ („ABCABCABC“, „A“, „12“,, 3) „Rezultatas:„ 12BC12BC12BC “„MsgBox Replace“ („ABCABCABC“, „A“, „12“,, 5) „Rezultatas:„ 12BC12BC12BC “„MsgBox Replace“ („ABCABCABC“, „A“, „12“, 3, 1)„Rezultatas:„ C12BCABC “„Mes pakeitėme A 12, 1 kartą, pradedant nuo pradinės eilutės 3 pozicijos.Pabaiga Sub |
VBA pakeiskite didžiųjų ir mažųjų raidžių jautrumą
Pagal numatytuosius nustatymus VBA pakeitimo funkcija skiria didžiąsias ir mažąsias raides. Šį elgesį galite pakeisti į didžiųjų ir mažųjų raidžių nejautrą naudodami pasirinktinį parametrą (vbTextCompare). Tokiu atveju taip pat turite nustatyti pradinę paieškos padėtį.
12345678910111213 | SubpakeistiExample_4 ()„MsgBox Replace“ („ABcABCABc“, „ABc“, „12“)„Rezultatas:„ 12ABC12 “„MsgBox Replace“ („ABcABCABc“, „ABc“, „12“,,, vbTextCompare)„Rezultatas:„ 121212 “„Kai naudojame„ vbTextCompare “, turime pridėti dar du neprivalomus argumentus:'pradėk ir skaičiuok„MsgBox Replace“ („ABcABCABcABc“, „ABc“, „12“, 3, 1)„Rezultatas:„ cABC12ABc “„Pradėjo nuo 3 padėties ir tik vieną kartą pakeitė ABC.Pabaiga Sub |
Taip pat galite pakeisti didžiųjų ir mažųjų raidžių keitimą, modulio viršuje pridėdami parinktį Palyginti tekstą:
1 | Parinktis Lyginti tekstą |
VBA pakeiskite dvigubas citatas
VBA pakeitimo funkcija gali pakeisti dvigubų kabučių simbolį, naudojamą eilutės pradžiai ir pabaigai atskirti.
VBA Chr funkcija gali grąžinti simbolį iš jo skaičiaus simbolių rinkinyje.
1 | „MsgBox Chr“ (34) rezultatas: |
Arba
1 | „MsgBox Chr“ (64) „Rezultatas: @ |
Dvigubas kabutes galima naudoti VBA pakeitimo funkcijos viduje naudojant „“ ““ arba VBA funkciją Chr (34).
12345678910111213 | SubpakeistiExample_5 ()„Dim StrEx“ kaip eilutėStrEx = "AB" "AB" ""„MsgBox StrEx“ rezultatas: AB „AB“„MsgBox“ pakeitimas („StrEx“, „Chr (34)“, „12“)„Rezultatas: AB12AB12„MsgBox“ pakeitimas („StrEx“, „“ “,„ DQ “)„Rezultatas:„ ABDQABDQ “Pabaiga Sub |
VBA pakeiskite lūžio liniją ląstelėje
Funkcija „VBA Replace“ gali rasti specialų lūžio linijos simbolį ląstelėje ir ją pašalinti arba pakeisti tarpo simboliu. Lūžio eilutės specialusis simbolis gali būti įvestas į langelį naudojant sparčiuosius klavišus Alt+Enter ir gali būti naudojamas VBA kode su jo simbolių rinkinio numeriu naudojant VBA funkciją Chr (10).
1234567891011121314 | SubpakeistiExample_6 ()„Dim StrEx“ kaip eilutė „Apibrėžkite eilutės kintamąjį„Perskaitykite langelio A2 reikšmę 1 lapo lapeStrEx = ThisWorkbook.Worksheets ("Sheet1"). Diapazonas ("A2"). Vertė„Lūžio eilutės simbolis, įvestas naudojant„ Alt “+„ Enter “, yra Chr (10) ir yra nematomas.„Ši kodo eilutė tą simbolį pakeičia tarpaisStrEx = Pakeisti (StrEx, Chr (10), "")„Užrašykite pakeistą reikšmę 1 lapo 1 lapo langelyje B2ThisWorkbook.Worksheets ("Sheet1"). Diapazonas ("B2"). Vertė = StrExPabaiga Sub |