Ynhâldsopjefte
As jo op syk binne nei guon fan 'e maklikste manieren om substring te finen mei VBA, dan binne jo op it goede plak. Nei it trochgean fan dit artikel kinne jo de posysje fan in substring fine of gegevens ekstrahearje mei dizze substring of it formaat fan in substring maklik feroarje. Litte wy it artikel yngean.
Wurkboek downloade
Sample ynhâld
9 manieren om substring te finen mei VBA
Hjir haw ik de folgjende gegevenstabel wêrmei ik de manieren sil sjen litte om substring te finen yn in tekenrige mei VBA. Ik sil ek besykje de manieren sjen te litten om substring yn in willekeurige tekenrige te finen.
Ik haw dizze taak útfierd mei Microsoft Excel 365 ferzje, jo kinne elke oare ferzje brûke neffens jo gemak.
Metoade-1: Substring fine yn in tekenrige mei VBA
As jo jo winske substring yn in tekenrige fine wolle mei VBA, kinne jo
11>de InStr-funksje yn de VBA-koade.
Stap-01 :
➤Gean nei Utwikkelder Tab>> Visual Basic Opsje
Dan sil de Visual Basic Editor iepenje.
➤Gean nei Ynfoegje Tab>> Module Opsje
Dêrnei sil in Module oanmakke wurde.
Stap-02 :
➤Skriuw de folgjende koade
4227
Hjir, InStr(1, " Ik tink dêrom dat ik bin", "tinke") sil de posysje fan 'e substring fan in tekenrige weromjaan. 1 is destartposysje, " Ik tink dêrom bin ik" is de tekenrige wêr't jo jo winske substring fine, en "think" is de substring dy't jo fine wolle. It is standert hoofdlettergefoelich, dus pas op foar it gefal fan jo substring dat jo sykje wolle.
➤Druk op F5
Resultaat :
Dêrnei krije jo de folgjende Berjochtfak mei de posysje fan de "tink" substring.
Metoade-2: Case-ûngefoelige substring fine yn in tekenrige
As jo jo winske substring yn in tekenrige fine wolle, nettsjinsteande it gefal mei VBA, folgje dan dit metoade.
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
9192
Hjir wurdt vbTextCompare brûkt om haadletter-ûngefoelige substring te finen.
➤Druk op F5
Resultaat :
Dan krije jo de folgjende Berjochtfak mei de posysje fan de "tink" substring.
Jo kinne itselde dwaan troch de folgjende koade te brûken.
8378
Hjir, Opsje Ferlykje tekst sil haadletter-ûngefoelige substring fine.
➤Druk op F5
Resultaat :
Dêrnei sille jo Ik krij it folgjende Berjochtfak mei de posysje fan de "tink" substring.
Metoade-3: Mei help fan InstrRev-funksje yn VBA
Hjir sil ik de manier sjen litte om in substring te finen fan 'e ein fan instring.
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
4795
InStrRev sil de substring fan de rjochterkant fine ynstee fan de linkerkant.
➤Druk op F5
Resultaat :
Dan krije jo de folgjende Berjochtfak mei de posysje fan de twadde "I" substring fan de rjochterkant.
Metoade-4: De posysje fan substring fine yn in tekenrige yn in berik fan gegevens
As jo it spesjale karakter fine wolle “@” yn de E-post-ID , folgje dan dizze metoade. Ik haw hjir de Posysjekolom tafoege foar dit doel.
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
7101
It sil in funksje meitsje mei de namme FindSubstring (jo kinne elke oare namme brûke)
wearde is de selferwizing dy't de tekenrige befettet en it wurdt ferklearre as Rik .
Stap -02 :
➤Selektearje de útfier Sel E5
➤Typ de folgjende funksje (makke troch VBA )
=FindSubstring(D5)
D5 is de sel dy't de tekenrige befettet.
➤Druk op ENTER
➤Sleep de Fillhandtak Tool
Resultaat :
Gelykbere lêzingen:
- Hoe te finenString yn in sel mei VBA yn Excel (2 metoaden)
- FindNext mei help fan VBA yn Excel (2 foarbylden)
- Hoe kin ik string fine mei VBA yn Excel (8 foarbylden)
- VBA Fyn lêste rige yn Excel (5 manieren)
Metoade-5: Kontrolearje in bepaalde substring yn in tekenrige yn in berik fan gegevens
Stel, jo wolle Passearje of Fail to correspond skriuwe mei de nammen fan 'e learlingen ôfhinklik fan 'e Resultaatkolom dêr't Slagt of Mislearre yn in heak skreaun is. Om dizze substring te finen yn de Resultaatkolom en skriuw it op yn de Pass or fail kolom folgje dizze metoade.
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
7223
Hjir is it selberik C5: C10 dat is de Resultaat kolom
InStr (cell.value, "Pass") & GT; 0 is de betingst wêryn it getal grutter is as nul (as de sel "Pass" befettet) dan sil de folgjende rigel trochgean en de útfier yn 'e neistlizzende sel jaan as Passed .
As de betingst falsk wurdt, betsjut dat in sel gjin "Pass" befettet, dan sil de rigel ûnder Anders útfiere en de útfierwearde jaan yn 'e neistlizzende sel as Failed .
Dizze lus sil trochgean foar elke sel.
➤Druk op F5
Resultaat :
Dan krije jo de folgjende útgongen yn 'e Pass or fail kolom.
Metoade-6: Kontrolearje fan in bepaalde substring yn in tekenrige en ekstrahearje fan gegevens
Ik sil de manier sjen litte om de neamde studinten te finen Michael yn de Student Name kolom en ekstrahearje harren oerienkommende gegevens mei VBA yn dizze metoade.
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
2870
Hjir haw ik
B100 as de Active Sheet Range , mar jo kinne elk berik brûke neffens jo gebrûk.
InStr(1, Range("B" & i), "Michael") > 0
is de betingst om te kontrolearjen oft de sel yn kolom B befettet Michael
Range("E" & icount & ":G" & icount)
is it berik wêryn jo jo útfiergegevens wolle en Range("B" & i & ":D" & i).value
sil de wearden jaan fan kolommen B oant D .
➤Druk op F5
Resultaat :
Dêrnei krije jo de folgjende ekstrahearre gegevens foar de learlingen mei de namme Michael .
Metoade-7: Substring sykje nei Word
As jo de substring as wurd fine wolle, folje dan leech dizze metoade.
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
7272
It sil kontrolearje oft de tekenrige befettet is en dan sil syn posysje jûn wurde
➤Druk op F5
Resultaat :
Dêrnei krije jo it folgjende berjochtfakje dat it wurd toant fûn yn posysje:6 (de posysje fan is ).
Jo kinne testendizze koade út foar in wurd dat net yn de tekenrige stiet.
➤Typ de folgjende koade
5921
➤Druk op F5
Resultaat :
Dêrnei krije jo it folgjende berjochtfakje dat it wurd net fûn toant.
Metoade-8: Instr en LEFT-funksje brûke
Hjir sil ik de manier útlizze om de posysje fan in substring yn in tekenrige te finen en de teksten foar dizze substring te ekstrahearjen mei VBA en de LEFT-funksje .
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
1644
j = InStr(txt, "is")
is de posysje fan de substring is en Left(txt, j - 1)
sil de substrings ekstrahearje foar is .
➤Druk op F5
Resultaat :
Nei ôfrin krije jo it folgjende berjochtfakje dat Hjir toant (substring foar is ).
Metoade-9: Bolding in bepaalde substring yn in tekenrige
Jo kinne de sifers foar heakjes fet fet yn 'e Resultaatkolom troch dizze metoade te folgjen d.
Stap-01 :
➤Folgje Stap-01 fan Metoade- 1
1784
txt = InStr(1, Cell, "(")
sil de posysje fan de earste beugel werombringe en Cell.Characters(1, txt - 1).Font.Bold
sil de substring meitsje foar de earste beugel Fet .
Stap-02 :
➤Selektearje de kolom Resultaat
➤Gean nei Untwikkelder Tab>> Makro's Opsje
Dan, in Makro wizard sil ferskine.
➤Selektearje Boldingsubstring (de VBA-koadenamme) en dan Utfiere .
Resultaat :
Dêrnei wurde de sifers yn de Resultaat Kolom fet fette.
Oefeningsdiel
Om sels te oefenjen hawwe wy in Oefenje -seksje levere lykas hjirûnder yn in blêd mei de namme Oefenje . Doch it asjebleaft sels.
Konklúzje
Yn dit artikel besocht ik de maklikste manieren te dekken om substring te finen mei VBA yn Excel effektyf. Hoopje dat jo it nuttich fine. As jo suggestjes of fragen hawwe, diel se dan frij mei ús.