Innholdsfortegnelse
Hvis du leter etter noen av de enkleste måtene å finne understreng ved hjelp av VBA, så er du på rett sted. Etter å ha gått gjennom denne artikkelen, vil du kunne finne posisjonen til en understreng eller trekke ut data ved å bruke denne understrengen eller enkelt endre formatet til en understreng. La oss gå inn i artikkelen.
Last ned arbeidsbok
Eksempelinnhold
9 måter å finne understreng ved å bruke VBA
Her har jeg følgende datatabell som jeg vil vise måter å finne delstreng i en streng ved å bruke VBA. Jeg vil også prøve å vise måter å finne understreng i en tilfeldig streng.
Jeg har utført denne oppgaven ved å bruke Microsoft Excel 365 -versjonen, du kan bruke hvilken som helst annen versjon etter eget ønske.
Metode-1: Finne delstreng i en streng ved hjelp av VBA
Hvis du vil finne ønsket delstreng i en streng ved hjelp av VBA, kan du bruke InStr-funksjonen i VBA-koden.
Trinn-01 :
➤Gå til Utvikler Tab>> Visual Basic Alternativ
Deretter åpnes Visual Basic Editor .
➤Gå til Sett inn Tab>> Modul Alternativ
Deretter vil en Modul bli opprettet.
Trinn-02 :
➤Skriv følgende kode
3521
Her, InStr(1, “ Jeg tror derfor jeg er”, “tenker”) vil returnere posisjonen til understrengen til en streng. 1 erstartposisjon, " Jeg tror derfor jeg er" er strengen der du vil finne ønsket delstreng, og "tenk" er delstrengen du vil finne. Det skiller mellom store og små bokstaver som standard, så pass opp for store og små bokstaver til understrengen du vil søke i.
➤Trykk F5
Resultat :
Etter det vil du få følgende meldingsboks som inneholder posisjonen til "tenk" understrengen.
Metode-2: Finne store og små bokstaver ufølsomme understrenger i en streng
Hvis du vil finne ønsket understreng i en streng uavhengig av tilfelle ved hjelp av VBA, følg denne metode.
Trinn-01 :
➤Følg Trinn-01 av Metode-1
2444
Her brukes vbTextCompare for å finne delstreng som ikke skiller mellom store og små bokstaver.
➤Trykk F5
Resultat :
Deretter vil du få følgende meldingsboks som inneholder posisjonen til "tenk" understrengen.
Du kan gjøre det samme ved å bruke følgende kode.
5714
Her vil Alternativ Sammenlign tekst finne understreng som ikke skiller mellom store og små bokstaver.
➤Trykk F5
Resultat :
Etterpå vil du Jeg får følgende Meldingsboks som inneholder posisjonen til "tenk" understrengen.
Metode-3: Bruke InstrRev-funksjonen i VBA
Her vil jeg vise måten å finne en delstreng fra slutten av enstreng.
Trinn-01 :
➤Følg Trinn-01 av Metode-1
6763
InStrRev finner delstrengen fra høyre side i stedet for venstre side.
➤Trykk F5
Resultat :
Deretter vil du få følgende meldingsboks som inneholder posisjonen til den andre "I" understrengen fra høyre side.
Metode-4: Finne posisjonen til delstrengen i en streng i et dataområde
Hvis du vil finne spesialtegnet “@” i E-post-ID , og følg deretter denne metoden. Jeg har her lagt til Posisjon-kolonnen for dette formålet.
Trinn-01 :
➤Følg Trinn-01 av Metode-1
8691
Det vil lage en funksjon kalt FinnSubstring (du kan bruke et hvilket som helst annet navn)
verdi er cellereferansen som inneholder strengen og den er erklært som Område .
Trinn -02 :
➤Velg utgangen Celle E5
➤Skriv inn følgende funksjon (opprettet av VBA )
=FindSubstring(D5)
D5 er cellen som inneholder strengen.
➤Trykk på ENTER
➤ Dra ned Fyllingshåndtaket verktøyet
Resultat :
Etterpå vil du få posisjonene til spesialtegnet “ @” i E-post-ID .
Lignende avlesninger:
- Hvordan finneStreng i en celle ved hjelp av VBA i Excel (2 metoder)
- FindNext ved å bruke VBA i Excel (2 eksempler)
- Hvordan finne streng med VBA i Excel (8 eksempler)
- VBA Finn siste rad i Excel (5 måter)
Metode-5: Sjekke en viss delstreng i en streng i et dataområde
Anta at du vil skrive Bestått eller Ikke korresponderer til navnene på elevene avhengig av Resultat-kolonnen der Bestått eller Ikke bestått er skrevet i parentes. For å finne denne understrengen i Resultatkolonnen og skriv den ned i kolonnen Bestått eller ikke bestått følg denne metoden.
Trinn-01 :
➤Følg Trinn-01 av Metode-1
7760
Her er celleområdet C5:C10 som er Resultatkolonnen
InStr(cell.value, “Pass”) > 0 er betingelsen der tallet er større enn null (når cellen inneholder “Pass” ) , vil følgende linje fortsette og gi utdata i den tilstøtende cellen som Bestått .
Hvis betingelsen blir usann betyr at en celle ikke inneholder noen “Pass” , vil linjen under Else utføres og gi utdataverdien i tilstøtende celle som Mislyktes .
Denne sløyfen vil fortsette for hver celle.
➤Trykk F5
Resultat :
Deretter vil du få følgende utganger i Bestått eller ikke bestått kolonne.
Metode-6: Kontrollere en bestemt delstreng i en streng og trekke ut data
Jeg vil vise veien for å finne de navngitte elevene Michael i Student Name-kolonnen og trekk ut deres tilsvarende data ved å bruke VBA i denne metoden.
Trinn-01 :
➤Følg Trinn-01 av Metode-1
7504
Her har jeg brukt B100 som Active Sheet Range , men du kan bruke et hvilket som helst område etter bruk.
InStr(1, Range("B" & i), "Michael") > 0
er betingelsen for å sjekke om cellen i kolonne B inneholder Michael
Range("E" & icount & ":G" & icount)
er området der du vil ha utdataene dine og Range("B" & i & ":D" & i).value
vil gi verdiene fra kolonner B til D .
➤Trykk F5
Resultat :
Etter det vil du få følgende uttrukket data for elevene som har navnet Michael .
Metode-7: Søke understreng etter ord
Hvis du vil finne understrengen som et ord, følg lav denne metoden.
Trinn-01 :
➤Følg Trinn-01 av Metode-1
7460
Den vil sjekke ut om strengen inneholder er og deretter vil dens posisjon bli gitt
➤Trykk F5
Resultat :
Etterpå vil du få følgende meldingsboks som viser ordet funnet i posisjon:6 (posisjonen til er ).
Du kan testeut denne koden for et ord som ikke er i strengen.
➤Skriv inn følgende kode
9725
➤Trykk F5
Resultat :
Etterpå vil du få følgende meldingsboks som viser ordet ikke funnet .
Metode-8: Bruke Instr og VENSTRE funksjon
Her vil jeg forklare måten å finne posisjonen til en delstreng i en streng og trekke ut tekstene før denne delstrengen ved å bruke VBA og VENSTRE-funksjonen .
Trinn-01 :
➤Følg Trinn-01 av Metode-1
8275
j = InStr(txt, "is")
er posisjonen til delstrengen er og Left(txt, j - 1)
vil trekke ut delstrengene før er .
➤Trykk på F5
Resultat :
Etterpå vil du få følgende meldingsboks som viser Her (delstreng før er ).
Metode-9: fet skrift en viss delstreng i en streng
Du kan utheve karakterene før parentes i Resultatkolonnen ved å følge denne metoden d.
Trinn-01 :
➤Følg Trinn-01 av Metode- 1
9398
txt = InStr(1, Cell, "(")
vil returnere posisjonen til den første parentesen og Cell.Characters(1, txt - 1).Font.Bold
vil gjøre delstrengen før den første parentesen Fet .
Trinn-02 :
➤Velg Resultatkolonnen
➤Go til Utvikler Tab>> Makroer Alternativ
Deretter en Makro veiviseren vises.
➤Velg Boldingsubstring (VBA-kodenavnet) og deretter Kjør .
Resultat :
Etter det vil karakterene i Resultat kolonnen være fet skrift.
Øvingsseksjonen
For å øve på egen hånd har vi gitt en Øvingsseksjonen som nedenfor i et ark kalt Øvning . Vennligst gjør det selv.
Konklusjon
I denne artikkelen prøvde jeg å dekke de enkleste måtene å finne delstreng ved å bruke VBA i Excel effektivt. Håper du finner det nyttig. Hvis du har forslag eller spørsmål, del dem gjerne med oss.