Innholdsfortegnelse
Hvis du leter etter noen av de enkleste måtene å finne et eksakt samsvar ved å bruke VBA , vil du finne denne artikkelen nyttig. Så la oss komme i gang med artikkelen og bli kjent med måtene å finne en eksakt match på.
Last ned arbeidsbok
VBA Finn eksakt match.xlsm
5 måter å finne eksakt samsvar ved å bruke VBA
Jeg har brukt følgende tabell som viser resultatene til noen elever. Jeg vil forklare forskjellige måter å finne den eksakte matchingen ved å bruke denne tabellen ved hjelp av VBA.
For dette formålet har jeg brukt Microsoft Excel 365-versjonen, du kan bruke alle andre versjoner i henhold til din bekvemmelighet.
Metode-1: Finne eksakt samsvar i et celleområde
Hvis du vil finne et eksakt samsvar med en streng som f.eks. navnet på en elev og deretter finne celleposisjonen til denne eleven, så kan du gjøre dette ved å følge denne metoden.
Her skal jeg finne et eksakt samsvar for studenten som heter “Joseph Micahel” .
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
9161
Her, “eksakt samsvar” er arknavnet og “B5:B10” errekkevidde av elevenes navn, og “Joseph Michael” er elevens navn som skal finnes ut.
rng er deklarert som et rekkeviddeobjekt og str som en strengvariabel for å lagre adressen til det søkte elementet.
IF -setningen vil tilordne elementets adresse til str variabelen.
➤Trykk F5
Resultat :
Etter det vil du få følgende Meldingsboks som inneholder celleposisjonen til eleven ved navn “Joseph Michael” .
Les mer: Finn innenfor et område med VBA i Excel: Inkludert eksakte og delvise samsvar
Metode-2: Finne nøyaktig samsvar og erstatte det ved å bruke VBA
Jeg vil vise måte å finne den angitte elevens navn og deretter erstatte det med et annet navn fordi dette navnet på en eller annen måte feilaktig har blitt skrevet her. Du kan finne ønsket streng og erstatte den ved å følge denne metoden.
Trinn-01 :
➤Følg Trinn-01 av Metode-1
1368
Her er «finn og erstatt» arknavnet og “B5:B10” er rekkevidden av elevenes navn, og “Donald Paul” er elevens navn som skal finne ut, og deretter vil “Henry Jackson” være elevens navn i stedet for det forrige.
WITH utsagnet vil unngå repetisjon av kodebiten i hver utsagn.
IF uttalelse vil tildeleelementets adresse til str variabelen og DO løkken vil erstatte alle forekomster av søkeordet.
➤Trykk F5
Resultat :
Etter det vil du få den nye studentens navn som «Henry Jackson» .
Metode-3: Finne eksakt samsvar med store og små bokstaver
Hvis du vil finne et samsvar mellom store og små bokstaver, følg denne metoden. Her har jeg to navn som ligner på hverandre, men det er en forskjell i saken, og avhengig av tilfelle vil jeg erstatte den siste elevens navn.
Trinn -01 :
➤Følg Trinn-01 av Metode-1
9748
Her, «skiller mellom store og små bokstaver» er arknavnet og “B5:B10” er rekkevidden av elevenes navn, og “Donald Paul” er elevens navn som skal finnes ut, og da vil “Henry Jackson” være elevens navn i stedet for det forrige.
MED utsagn vil unngå repetisjon av kodebiten i hver utsagn.
IF -setningen vil tilordne elementets adresse til str -variabelen og DO -løkken vil erstatte alle forekomster av søkeordet.
➤Trykk F5
Resultat :
Nå, ifølge saken, elevens navn vil bli endret til “Henry Jackson” .
Lignende lesninger:
- Hvordan finne streng i en celle ved hjelp av VBA i Excel (2 metoder)
- VBAFinn i kolonne i Excel (7 tilnærminger)
- Hvordan finne streng med VBA i Excel (8 eksempler)
Metode-4: Bruke InStr-funksjon
Anta at du vil matche Bestått eller Ikke korresponderer til navnene på elevene avhengig av Resultatkolonnen hvor Bestått eller Ikke bestått er skrevet. For å finne denne strengen i Resultatkolonnen og skrive ned «Bestått» i Statuskolonnen for elevene som har bestått eksamen, kan du bruke InStr-funksjonen .
Trinn-01 :
➤Følg Trinn-01 av Metode-1
5373
Her er celleområdet C5:C10 som er Resultatkolonnen
InStr(celleverdi, "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 Blank .
Denne sløyfen vil fortsette for hver celle.
➤Trykk F5
Resultat :
Deretter vil du få statusen «Bestått» for studentene som har bestått.
Metode-5: Finne eksakt samsvar og trekke ut data
Hvis du vil trekke uttilsvarende data for en student ved navn “Michael James” så kan du følge denne metoden.
Trinn-01 :
➤Følg Trinn-01 av Metode-1
3222
Her har jeg brukt B100 som Aktiv Sheet Range (du kan bruke et hvilket som helst område i henhold til din bruk).
InStr(1, Range(“B” & i), “Michael James”) > 0 er betingelsen for å sjekke om cellen i kolonne B inneholder Michael James .
Range(“E ” & icount & “:G” & icount) er området der du vil ha utdataene dine og Range(“B” & i & “:D” & i).verdi gir verdiene fra kolonnen B til D .
➤Trykk F5
Resultat :
Etterpå vil du få følgende uttrukket data for elevene som har navnet Michael James .
Øvingsseksjon
For å øve selv har vi gitt en Øvingsseksjon som nedenfor i et ark kalt Practice . Vennligst gjør det selv.
Konklusjon
I denne artikkelen prøvde jeg å dekke de enkleste måtene å finne en eksakt match ved å bruke VBA effektivt i Excel. Håper du finner det nyttig. Hvis du har forslag eller spørsmål, del dem gjerne med oss.