See õpetus näitab, kuidas kasutada funktsiooni VBA asendamist teksti stringide asendamiseks.
Asenda funktsioon
Funktsioon VBA Replace tagastab stringi koos asendustega. Valikuliste parameetrite kasutamisel võib uus string alata algusega määratud kohas ja lõpeb algse stringi lõpus.
VBA Asenda alamstring
Funktsiooni VBA asendamine võib asendada leitud alamstringi, mis on leitud igas osas.
12345678910111213141516 | AlamvahetusNäide_1 ()MsgBox Replace ("ABCABCABC", "A", "!")'Tulemus: "! EKr! EKr! EKr"MsgBox Replace ("Mulle meeldib roosa, punane ja must", "roosa", "lilla")"Tulemus on:" Mulle meeldib lilla, punane ja must "MsgBoxi asendamine ("A, B, C, A, B, C, A, B, C", ",", ",")"Tulemus on:" ABCABCABC "MsgBox Replace ("ABCABCABC", "ABC", "!")Tulemus: "!!!"MsgBox Replace ("ABCABCABC", "ABc", "!")"Tulemus on:" ABCABCABC "MsgBox Replace ("ABCABCABC", "ZBC", "!")"Tulemus on:" ABCABCABC "End Sub |
VBA Asenda algasend
Funktsiooni VBA asendamine võib asendada leitud alamstringi, mis on leitud igas osas. Kui määrame stardipositsiooni, on tulemuseks algse stringi osa pärast seda lähtepunkti.
12345678910111213 | AlamvahetusNäide_2 ()MsgBox Replace ("ABCABCABC", "A", "123") 'Tulemus on: "123BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 2) 'Tulemus on: "BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 7) 'Tulemus on: "123BC"MsgBox Replace ("ABCABCABC", "A", "123", 8) 'Tulemus on: "BC"MsgBox Replace ("ABCABCABC", "ABC", "!@") 'Tulemus on: "!@!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 2) 'Tulemus on: "BC!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 6) 'Tulemus on: "C!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 7) 'Tulemus on: "!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 8) 'Tulemus on: "BC"End Sub |
VBA asendab ainult mõne juhtumi
Funktsiooni VBA asendamine võib asendada leitud alamstringi, mis on leitud igas osas. Valikuliselt saame otsustada, kui palju esinemisi tuleks asendada.
123456789101112 | AlamvahetusNäide_3 ()MsgBox Replace ("ABCABCABC", "A", "12") 'Tulemus on: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 1) 'Tulemus on: "12BCABCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 2) 'Tulemus on: "12BC12BCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 3) 'Tulemus on: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 5) 'Tulemus on: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12", 3, 1)'Tulemus: "C12BCABC""Asendasime A 12 -ga, alustades algse stringi 3. positsioonist.End Sub |
VBA asendage tõstutundlikkus
VBA asendusfunktsioon on vaikimisi tõstutundlik. Valikulise parameetri (vbTextCompare). Sellisel juhul peate määratlema ka otsingu lähtepositsiooni.
12345678910111213 | Sub ReplaceExample_4 ()MsgBox Replace ("ABcABCABc", "ABc", "12")'Tulemus: "12ABC12"MsgBox Replace ("ABcABCABc", "ABc", "12",,, vbTextCompare)Tulemus: "121212""Kui kasutame vbTextCompare'i, peame lisama veel kaks valikulist argumenti:'alusta ja loeMsgBox Replace ("ABcABCABcABc", "ABc", "12", 3, 1)Tulemus on: "cABC12ABc"'Alustati 3. positsioonist ja asendati ABC ainult 1 kord.End Sub |
Samuti saate teostada väiketähtede vahetamise, lisades mooduli ülaossa suvandi Võrdle teksti:
1 | Valik Võrdle teksti |
VBA asenda topeltpakkumised
Funktsioon VBA Asenda võib asendada kahekordse jutumärgi, mida kasutatakse stringi alguse ja lõpu piiritlemiseks.
Funktsioon VBA Chr võib tagastada märgi tähemärkide kogust.
1 | MsgBox Chr (34) 'Tulemus on: " |
Või
1 | MsgBox Chr (64) 'Tulemus on: @ |
Topelt jutumärke saab kasutada funktsioonis VBA Replace, kasutades “” ”” või VBA funktsiooni Chr (34).
12345678910111213 | AlamvahetusNäide_5 ()Dim StrEx stringinaStrEx = "AB" "AB" ""MsgBox StrExi tulemus on: AB "AB"MsgBoxi asendamine (StrEx, Chr (34), "12")"Tulemus on: AB12AB12MsgBoxi asendamine (StrEx, "" "", "DQ")"Tulemus on:" ABDQABDQ "End Sub |
VBA asendage lahtris murdejoon
Funktsioon VBA Asenda võib leida lahtrist murdejoone erimärgi ja selle eemaldada või asendada tühikuga. Murdejoone erimärgi saab lahtrisse sisestada klaviatuuri otsetee Alt+Enter abil ja seda saab kasutada VBA -koodis koos selle tähemärkide numbriga, kasutades VBA -funktsiooni Chr (10).
1234567891011121314 | AlamvahetusNäide_6 ()Dim StrEx stringina 'Määrake stringimuutuja"Lugege töölehe lehe 1 lahtri A2 väärtustStrEx = ThisWorkbook.Worksheets ("Sheet1"). Vahemik ("A2"). Väärtus'Alt+Enter abil sisestatud murdejoone märk on Chr (10) ja see on nähtamatu.„See koodirida asendab selle märgi tühikugaStrEx = Asenda (StrEx, Chr (10), "")'Kirjutage asendatud väärtus töölehe 1. lehe lahtrisse B2ThisWorkbook.Worksheets ("Sheet1"). Vahemik ("B2"). Väärtus = StrExEnd Sub |