Šī apmācība parādīs, kā izmantot funkciju Aizstāt VBA, lai aizstātu teksta virknes.
Aizstāt funkciju
Funkcija VBA Aizstāt atgriež virkni, veicot aizstāšanu. Izmantojot neobligātus parametrus, jaunā virkne var sākties sākotnējā virknē norādītajā vietā un beidzas sākotnējās virknes beigās.
VBA Aizstāt Aizstāt apakšvirkni
Funkciju VBA Replace var izmantot, lai aizstātu jebkuru atrasto apakšvirkni, kas atrodama katrā daļā.
12345678910111213141516 | Sub ReplaceExample_1 ()MsgBox Replace ("ABCABCABC", "A", "!")'Rezultāts: "! BC! BC! BC"MsgBox Replace ("Man patīk rozā, sarkana un melna", "rozā", "violeta")Rezultāts: "Man patīk purpursarkana, sarkana un melna"MsgBox Aizstāt ("A, B, C, A, B, C, A, B, C", ",", ",")Rezultāts: "ABCABCABC"MsgBox Aizstāt ("ABCABCABC", "ABC", "!")Rezultāts: "!!!"MsgBox Replace ("ABCABCABC", "ABc", "!")Rezultāts: "ABCABCABC"MsgBox Aizstāt ("ABCABCABC", "ZBC", "!")Rezultāts: "ABCABCABC"Beigu apakš |
VBA Aizstāt sākuma stāvokli
Funkciju VBA Replace var izmantot, lai aizstātu jebkuru atrasto apakšvirkni, kas atrodama katrā daļā. Ja mēs piešķiram sākuma pozīciju, rezultāts būs sākotnējās virknes daļa pēc šī sākuma punkta.
12345678910111213 | Sub ReplaceExample_2 ()MsgBox Replace ("ABCABCABC", "A", "123") 'Rezultāts: "123BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 2) 'Rezultāts: "BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 7) 'Rezultāts: "123BC"MsgBox Replace ("ABCABCABC", "A", "123", 8) 'Rezultāts: "BC"MsgBox Replace ("ABCABCABC", "ABC", "!@") 'Rezultāts: "!@!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 2) 'Rezultāts: "BC!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 6) 'Rezultāts: "C!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 7) 'Rezultāts: "!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 8) 'Rezultāts: "BC"Beigu apakš |
VBA aizstāj tikai dažus gadījumus
Funkciju VBA Replace var izmantot, lai aizstātu jebkuru atrasto apakšvirkni, kas atrodama katrā daļā. Mēs pēc izvēles varam izlemt, cik gadījumu ir jāaizstāj.
123456789101112 | Sub ReplaceExample_3 ()MsgBox Replace ("ABCABCABC", "A", "12") 'Rezultāts: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 1) 'Rezultāts: "12BCABCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 2) 'Rezultāts: "12BC12BCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 3) 'Rezultāts: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 5) 'Rezultāts: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12", 3, 1)Rezultāts: "C12BCABC""Mēs aizstājām A ar 12, 1 reizi, sākot no sākotnējās virknes 3. pozīcijas.Beigu apakš |
VBA Aizstāt reģistrjutību
VBA aizvietošanas funkcija pēc noklusējuma ir reģistrjutīga. Jūs varat mainīt šo uzvedību, lai nejustu reģistrus, izmantojot neobligātu parametru (vbTextCompare). Tādā gadījumā jums ir jādefinē arī meklēšanas sākuma pozīcija.
12345678910111213 | Sub ReplaceExample_4 ()MsgBox Replace ("ABcABCABc", "ABc", "12")Rezultāts: "12ABC12"MsgBox Replace ("ABcABCABc", "ABc", "12",,, vbTextCompare)Rezultāts: "121212""Kad mēs izmantojam vbTextCompare, mums jāpievieno 2 citi izvēles argumenti:'sāc un skaitaMsgBox Replace ("ABcABCABcABc", "ABc", "12", 3, 1)Rezultāts: "cABC12ABc"'Sāka no 3. pozīcijas un tikai vienu reizi nomainīja ABC.Beigu apakš |
Varat arī aizstāt reģistrus, neņemot vērā reģistru, moduļa augšdaļā pievienojot opciju Salīdzināt tekstu:
1 | Opcija Salīdzināt tekstu |
VBA Aizstāt dubultās pēdiņas
Funkcija VBA Aizstāt var aizstāt pēdiņu rakstzīmi, ko izmanto, lai norobežotu virknes sākumu un beigas.
Funkcija VBA Chr var atgriezt rakstzīmi no tās numura rakstzīmju kopā.
1 | MsgBox Chr (34) "Rezultāts ir šāds:" |
Vai
1 | MsgBox Chr (64) 'Rezultāts: @ |
Dubultās pēdiņas var izmantot VBA aizvietošanas funkcijā, izmantojot “” ”” vai VBA funkciju Chr (34).
12345678910111213 | Sub ReplaceExample_5 ()Dim StrEx kā virkneStrEx = "AB" "AB" ""MsgBox StrEx rezultāts ir: AB "AB"MsgBox Aizstāt (StrEx, Chr (34), "12")"Rezultāts: AB12AB12MsgBox Aizstāt (StrEx, "" "," DQ ")Rezultāts: "ABDQABDQ"Beigu apakš |
VBA Aizstāt pārtraukuma līniju šūnā
Funkcija VBA Aizstāt var atrast pārtraukuma līnijas īpašo rakstzīmi šūnā un noņemt to vai aizstāt to ar atstarpes rakstzīmi. Pārtraukuma līnijas īpašo rakstzīmi šūnā var ievadīt, izmantojot īsinājumtaustiņu Alt+Enter, un to var izmantot VBA kodā ar rakstzīmju kopas numuru, izmantojot VBA funkciju Chr (10).
1234567891011121314 | Sub ReplaceExample_6 ()Dim StrEx kā virkne 'Definējiet virknes mainīgo“Izlasiet šūnas A2 vērtību darblapā Sheet1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Diapazons ("A2"). Vērtība'Pārtraukuma līnijas rakstzīme, kas ievadīta ar Alt+Enter, ir Chr (10) un ir neredzama.'Šī koda rindiņa aizstāj šo rakstzīmi ar atstarpiStrEx = Aizstāt (StrEx, Chr (10), "")'Ierakstiet aizstāto vērtību darblapas 1. lapas šūnā B2ThisWorkbook.Worksheets ("Sheet1"). Diapazons ("B2"). Vērtība = StrExBeigu apakš |