Innholdsfortegnelse
Når vi jobber med Microsoft Excel , må vi noen ganger finne samsvarsverdien i et område. Dette kan vi enkelt gjøre med excel-funksjoner. Det er funksjoner i VBA som vi kan bruke, men ingen av dem er lik MATCH . I denne artikkelen lærer vi hvordan du matcher en verdi i et område med Excel VBA .
Last ned øvelsesarbeidsbok
Du kan laste ned arbeidsbok og øv med dem.
VBA Match Value in Range.xlsm
Introduksjon til Excel VBA Match Function
Match-funksjonen i Excel VBA er en nyttig konstruert oppslagsfunksjon som, som VLOOKUP , HLOOKUP og INDEX -funksjonene, returnerer plasseringen av identisk eller sammenlignbar matching av oppslagsverdiene oppnådd i matriser eller en database. Denne funksjonen er en regnearkfunksjon som programmet bruker. Fordi det er en regnearkfunksjon, ligner parameterne for Match-funksjonen de for regnearkfunksjonen.
3 eksempler på Excel VBA for å matche verdi i området
1. Match verdi i rekkevidde med VBA Match-funksjon i Excel
For å bruke Excel VBA Match-funksjonen , for å finne samsvarsverdien i et område, skal vi bruke følgende datasett . Datasettet har noen elevers navn i kolonne C , karakterene deres på et spesifikt emne i kolonne D , og serienummeret til hver elev i kolonne B . Nå, antar viønsker å finne samsvarsposisjonen i celle G5 for et spesifikt merke, og merket som vi ønsker å matche er i celle F5 .
La oss demonstrere prosedyren for å finn samsvarsverdier i et område ved å bruke excel VBA Match-funksjonen .
TRINN:
- Først går du til kategorien Utvikler fra båndet.
- For det andre klikker du på Visual Basic for å åpne Visual Basic Editor , der vi skriver koden. Eller trykk Alt + 11 for å åpne Visual Basic Editor .
- En annen måte å åpne Visual Basic Editor er bare å høyreklikke på regnearket og klikke på Vis kode .
- Dette åpner Visual Basic Editor . Skriv nå koden der.
VBA-kode:
4420
- Deretter, for å kjøre koden, trykk F5 tast på tastaturet eller klikk på Rub Sub -knappen.
- Til slutt kan du se at kampen er funnet i posisjon 5 .
🔎 Hvordan fungerer VBA-koden?
-
Sub example1_match()
: Dette betyr at vi definerer en underprosedyre ved å gi makronavnet. -
Range("G5").Value
: Vi vil utdataene som skal lagres i celle G5 . -
WorksheetFunction
: Ved å bruke denne koden vil vi få tilgang til VBA-funksjonene.
-
Match(Range("F5").Value, Range("D5:D10"), 0)
: Her bruker vi matchfunksjonen i VBA. Som vi ønsker å ta verdien fracelle F5 og finn ut posisjonen i området D5:D10 . -
End Sub
: Dette betyr at vi avslutter prosedyren.
Les mer: Excel VBA for å matche streng i kolonne (5 eksempler)
2. Bruk Excel VBA for å matche verdi fra et annet regneark
Vi kan finne samsvarsverdier i området fra et annet regneark ved å bruke VBA Match-funksjonen i Excel . Anta at vi har et datasett i et ark kalt " Data ", og vi vil ha resultatet i arknavnet " Resultat ". Og vi bruker samme datasett. La oss nå følge trinnene for å gjøre dette.
TRINN:
- I start, på samme måte som i det tidligere eksempelet, gå til Utvikler fanen på båndet.
- Klikk deretter på Visual Basic eller trykk Alt + F11 for å åpne Visual Basic Editor .
- I stedet for dette, for å åpne Visual Basic Editor , høyreklikker du ganske enkelt på arket og velger Vis kode .
- Skriv nå ned VBA-koden.
VBA-kode:
7116
- Deretter kjører du koden ved å trykke F5 -tasten eller klikker på Kjør Sub -knappen.
- Og resultatet finnes i « Resultat »-arket.
Les mer: Hvordan matche data i Excel fra 2 regneark
Lignende avlesninger
- Summer alle treff med VLOOKUP i Excel (3 enkleMåter)
- Hvordan finne samsvar mellom store og små bokstaver i Excel (6 formler)
- Hvordan matche navn i Excel der stavemåten er forskjellig (8 metoder) )
3. Excel VBA-løkker for å få matchet verdi innen rekkevidde
Anta at vi ønsker at flere merker skal matche verdien, vil vi bruke VBA-løkkene for dette. Vi bruker samme datasett som før. Nå vil vi ha matchposisjonen i kolonne G , og merkene som vi ønsker å finne samsvar er i kolonne F . La oss se trinnene ned.
TRINN:
- For det første, fra båndet, gå til Utvikler fanen.
- For det andre, for å åpne Visual Basic Editor , klikk på Visual Basic eller trykk Alt + F11 .
- Eller, rett og slett høyreklikk på arket og velg Vis kode .
- Dette åpner Visual Basic Editor .
- Skriv inn koden der.
VBA-kode:
4579
- Etter det, trykk på F5 -tasten eller klikk på Run Sub -knappen vil kjøre koden.
- Og du vil kunne se resultatet i kolonne G .
🔎 Hvordan fungerer VBA-koden?
-
For i = 5 To 8
: Dette betyr at vi vil at løkken starter med rad 5 og slutter med rad 8 . -
Cells(i, 7).Value
: Dette lagrer verdien av de resulterende plasseringene i hver rad fra 5 til 8 rader i kolonne G som er kolonnenummer 7 . -
Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: Celler kan matches ved å bruke Match -funksjonen (i, 6). Verdier søker etter hver oppslagsverdi som finnes i radene 5 til 8 i 6. -kolonnen. Søkte deretter i array D5:D10 på et excel-ark hvor data er tilgjengelig.
Les mer: Excel Finn samsvarende verdier i to kolonner
Ting å huske på
- Hvis matchtypen mangler eller ikke er spesifisert, antas den å være 1 .
- Hvis ingen samsvar oppdages, vil et relatert excel-felt være tomt.
- Oppslagsverdi kan være numeriske, tegn eller logiske data, eller en cellereferanse til en mengde, tekst , eller logisk betydning.
Konklusjon
De ovennevnte metodene vil hjelpe deg med å matche verdier i et område i Excel VBA. Håper dette vil hjelpe deg! Hvis du har spørsmål, forslag eller tilbakemeldinger, vennligst gi oss beskjed i kommentarfeltet. Eller du kan ta et blikk på våre andre artikler i ExcelWIKI.com -bloggen!