Excel VBA til at matche værdien i området (3 eksempler)

  • Del Dette
Hugh West

Under arbejdet med Microsoft Excel skal vi nogle gange finde den værdi, der passer til et område. Det kan vi nemt gøre med Excel-funktioner. Der er funktioner i VBA, som vi kan bruge, men ingen af dem er lig med MATCH I denne artikel lærer vi, hvordan vi kan matche en værdi i et interval med Excel VBA .

Download arbejdsbog til øvelser

Du kan downloade arbejdsbogen og øve dig med dem.

VBA Match værdi i Range.xlsm

Introduktion til Excel VBA Match-funktionen

Match-funktion i Excel VBA er en nyttig konstrueret opslagsfunktion, der ligesom VLOOKUP , HLOOKUP , og den INDEX returnerer placeringen af identiske eller sammenlignelige matchede opslagsværdier, der er fundet i arrays eller en database. Denne funktion er en regnearkfunktion, som programmet bruger. Da det er en regnearkfunktion, svarer parametrene for funktionen Match til parametrene for regnearkfunktionen.

3 eksempler på Excel VBA til at matche værdien i området

1. Match værdi i interval med VBA Match-funktion i Excel

Sådan bruger du Excel VBA Match-funktionen , for at finde en matchværdi i et område, skal vi bruge følgende datasæt. Datasættet har nogle elevernes navne i kolonnen C , deres karakterer for et bestemt emne i kolonne D , og løbenummeret for hver elev i kolonne B Lad os nu antage, at vi ønsker at finde matchpositionen i celle G5 af et bestemt mærke, og det mærke, som vi ønsker at matche, står i celle F5 .

Lad os demonstrere proceduren for at finde matchværdier i et område ved hjælp af Excel VBA-funktionen Match .

TRIN:

  • Først skal du gå til Udvikler fanen fra farvebåndet.
  • For det andet skal du klikke på Visual Basic for at åbne den Visual Basic-editor , hvor vi skriver koden. Eller du kan trykke på Alt + 11 for at åbne den Visual Basic-editor .

  • En anden måde at åbne Visual Basic-editor er blot at højreklik på på regnearket, og klik på Se kode .

  • Dette vil åbne Visual Basic-editor Skriv nu koden der.

VBA-kode:

 Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub 
  • For at køre koden skal du derefter trykke på F5 på dit tastatur eller klik på Rub Sub knap.

  • Endelig kan du se, at matchet er fundet i position 5 .

🔎 Hvordan fungerer VBA-koden?

  • Sub example1_match() : Det betyder, at vi definerer en underprocedure ved at angive et makronavn.
  • Range("G5").Værdi : Vi ønsker, at output skal gemmes i celle G5 .
  • WorksheetFunction : Ved at bruge denne kode kan vi få adgang til VBA-funktionerne.
  • Match(Range("F5").Værdi, Range("D5:D10"), 0) : Her bruger vi funktionen Match i VBA. Da vi ønsker at tage værdien fra celle F5 og finde ud af positionen i området D5:D10 .
  • End Sub : Det betyder, at vi afslutter proceduren.

Læs mere: Excel VBA til at matche streng i kolonne (5 eksempler)

2. Brug Excel VBA til at matche værdi fra et andet regneark

Vi kan finde matchværdier i intervallet fra et andet regneark ved hjælp af VBA-funktionen Match Excel Antag, at vi har et datasæt i et ark med navnet " Data ", og vi ønsker resultatet i arknavnet " Resultat "Og vi bruger det samme datasæt. Lad os nu følge trinene for at gøre dette.

TRIN:

  • I begyndelsen skal du, på samme måde som i det tidligere eksempel, gå til Udvikler på fanen på farvebåndet.
  • Klik derefter på Visual Basic eller tryk på Alt + F11 for at åbne den Visual Basic-editor .
  • I stedet for dette, for at åbne Visual Basic-editor , skal du blot højreklikke på arket og vælge Se kode .

  • Skriv nu VBA-koden ned.

VBA-kode:

 Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub 
  • Derefter skal du køre koden ved at trykke på F5 eller ved at klikke på Kør under knap.

  • Og resultatet findes i " Resultat " ark.

Læs mere: Sådan matches data i Excel fra 2 regneark

Lignende læsninger

  • Summering af alle match med VLOOKUP i Excel (3 nemme måder)
  • Sådan finder du Case Sensitive Match i Excel ( 6 formler)
  • Sådan matcher du navne i Excel, hvor stavemåden er forskellig (8 metoder)

3. Excel VBA-sløjfer for at få matchede værdier i området

Hvis vi ønsker flere mærker til at matche værdien, vil vi bruge VBA-loops til dette. Vi bruger det samme datasæt som før. Nu ønsker vi matchpositionen i kolonnen G , og de mærker, som vi ønsker at finde et match, står i kolonnen F . Lad os se trinene nedad.

TRIN:

  • Først skal du gå til Udvikler fanebladet.
  • For det andet, for at åbne den Visual Basic-editor , klik på Visual Basic eller tryk på Alt + F11 .
  • Eller du kan også bare højreklikke på arket og vælge Se kode .

  • Dette vil åbne Visual Basic-editor .
  • Skriv nu koden der.

VBA-kode:

 Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub 
  • Derefter skal du trykke på F5 eller ved at klikke på Kør under knappen vil køre koden.

  • Og du vil kunne se resultatet i kolonnen G .

🔎 Hvordan fungerer VBA-koden?

  • For i = 5 Til 8 : Det betyder, at vi ønsker, at løkken skal starte med række 5 og slutter med række 8 .
  • Celler(i, 7).Værdi : Herved gemmes værdien af de resulterende placeringer i hver række fra 5 til 8 rækker i kolonne G som er kolonnenummer 7 .
  • Match(Cells(i, 6).Value, Range("D5:D10"), 0) : Celler kan matches ved hjælp af Match funktion (i, 6). Værdier søger efter hver opslagsværdi, der findes i rækker 5 via 8 af den 6. kolonne. Derefter søges i array D5:D10 på et excel-ark, hvor der er data til rådighed.

Læs mere: Excel finder matchende værdier i to kolonner

Ting at huske på

  • Hvis matchtypen mangler eller ikke er angivet, antages det at være 1 .
  • Hvis der ikke findes nogen match, vil et relateret excel-felt være tomt.
  • Opslagsværdien kan være en numerisk, tegn- eller logisk data eller en cellehenvisning til en mængde, tekst eller logisk betydning.

Konklusion

Ovenstående metoder vil hjælpe dig med at matche værdier i et område i Excel VBA. Håber dette vil hjælpe dig! Hvis du har spørgsmål, forslag eller feedback, så lad os vide det i kommentarfeltet. Eller du kan kaste et blik på vores andre artikler i ExcelWIKI.com blog!

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.