VBA keskfunktsioon - eraldage tegelased stringi keskelt

Lang L: none (table-of-contents)

See õpetus näitab, kuidas kasutada funktsiooni Mid VBA tekstistringi keskelt märkide eraldamiseks.

Keskmine funktsioon

Keskfunktsioon Hankige n tähemärki

Funktsioon VBA Mid tagastab n -tähemärgi stringist, mis algab positsioonist m:

123456789 AlamklassNäide_1 ()MsgBox Mid ("ABCDEFGHI", 4, 1) 'Tulemus on: "D"MsgBox Mid ("ABCDEFGHI", 4, 2) 'Tulemus on: "DE"MsgBox Mid ("ABCDEFGHI", 4, 50) 'Tulemus on: "DEFGHI"MsgBox Mid ("ABCDEFG hI", 6, 1) 'Tulemus on: "F"MsgBox Mid ("ABCDEFG hI", 6, 2) 'Tulemus on: "FG"MsgBox Mid ("ABCDEFG hI", 6, 4) 'Tulemus on: "FG h"End Sub

Keskfunktsioon Hankige muutujast n tähemärki

Nagu ülalpool näidatud, saate stringi määratleda lihtsalt jutumärkidega ümbritsetud teksti sisestamisega. Kuid MID -funktsioon töötab ka stringimuutujatega. Need näited eraldavad n -tähemärgi stringist, mis algab positsioonist m.

12345678 AlamklassNäide_2 ()Dim StrEx stringina 'Määrake stringimuutujaStrEx = "ABCDEFGHI"MsgBox Mid (StrEx, 2, 1) 'Tulemus: "B"MsgBox Mid (StrEx, 2, 2) 'Tulemus: "BC"MsgBox Mid (StrEx, 2, 50) 'Tulemus: "BCDEFGHI"End Sub

Keskfunktsioon Hankige lahtrist n märki

Stringid saab määratleda VBA -koodis, kuid saate kasutada ka lahtrite väärtusi. Lugege lahtri väärtust, hoidke seda stringimuutjas ja eraldage sellest töölehe lahtri väärtusest n tähemärki, alustades positsioonist m.

1234567891011 AlamklassNäide_3 ()Dim StrEx stringina 'Määrake stringimuutuja"Lugege töölehe lehe 1 lahtri A1 väärtustStrEx = ThisWorkbook.Worksheets ("Sheet1"). Vahemik ("A1"). VäärtusSelle näite puhul on lahtri A1 väärtus "Olgu jõud teiega"MsgBox Mid (StrEx, 4, 6) 'Tulemuseks on "F" (pange tähele tühikut alguses)MsgBox Mid (StrEx, 2, 8) 'Tulemus on: "a F"MsgBox Mid (StrEx, 3, 4) 'Tulemus: "y"End Sub

Keskfunktsioon Asenda n tähemärki

Ülaltoodud näidetes ei muutnud funktsioon Mid algset stringi. See tagastas osa sellest, jättes algse nööri puutumata. Funktsiooni Mid saab kasutada stringi märkide asendamiseks.

12345678910111213141516171819202122 AlamklassNäide_4 ()Dim StrEx stringina 'Määrake stringimuutujaAlamklassNäide_4 ()Dim StrEx stringina 'Määrake stringimuutujaStrEx = "Olgu jõud teiega"Keskmine (StrEx, 5, 1) = "VWXYZ"MsgBox StrExi tulemus on: "Olgu Vhe Horce teiega"'Keskfunktsioon leidis positsiooni 5 ja asendas algse stringi 1 tähemärgiStrEx = "Olgu jõud teiega"Keskmine (StrEx, 5, 3) = "VWXYZ"MsgBox StrExi tulemus on: "Olgu VWX Horce teiega"„Keskfunktsioon leidis positsiooni 5 ja asendas algses stringis 3 märkiStrEx = "Olgu jõud teiega"Keskmine (StrEx, 5, 8) = "VWXYZ"MsgBox StrExi tulemus on: "Olgu VWXYZorce teiega"„Keskfunktsioon leidis positsiooni 5 ja proovis asendada 8 tähemärki.'' VWXYZ '' sisaldab ainult 5 tähemärki, seega asendati ainult 5 tähemärki.End Sub

Keskfunktsioon Väljavõte fraasist teise sõna

Teksti teise sõna saamiseks saame kasutada funktsiooni VBA Mid koos funktsiooniga VBA Instr.

Funktsioon VBA InStr võib tagastada märgi asukoha teksti sees.

1 InStr ("Kaks sõna", "") 'Tulemus on 4

Esimese tühiku leidmiseks saame kasutada InStr -i, seejärel saame uuesti kasutada InStr -i, alustades otsingut pärast esimest tühikut, et leida tekstist teine ​​tühik. Lõpuks saame sõna ekstraheerimiseks kasutada funktsiooni Mid, sest me teame teise sõna lähtepositsiooni ja selle pikkust (kahe tühiku positsiooni erinevus).

12345678910111213141516171819202122232425 AlamklassNäide_5 ()Dim StrEx stringina 'Määrake stringimuutujaDim StartPos täisarvunaDim EndPos täisarvunaHämardage sekundisõna stringinaStrEx = "James Earl Jones on näitleja"StartPos = InStr (StrEx, "")'Tulemus on 6'Leidke esimese ruumi asukohtEndPos = InStr (StartPos + 1, StrEx, "")'Tulemus on 11"Leidke teise tühiku asukoht, alustades otsimist pärast esimest tühikutSecondWord = Mid (StrEx, StartPos + 1, EndPos - StartPos - 1)'Mid ekstraheerib pärast esimest tühikut algavaid märke (StartPos +1)'Mid kasutab ka teise sõna pikkust."See on tühikute positsioonide erinevus -1MsgBox SecondWord"Tulemus on EarlEnd Sub
wave wave wave wave wave