VBA asendusfunktsioon - asenda string

Lang L: none (table-of-contents)

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

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave