INHOUDSOPGAWE
Terwyl ons met Microsoft Excel werk, moet ons soms die paswaarde in 'n reeks vind. Ons kan dit maklik doen met Excel-funksies. Daar is funksies in VBA wat ons mag gebruik, maar nie een van hulle is gelyk aan MATCH . In hierdie artikel sal ons leer hoe om 'n waarde in 'n reeks met Excel VBA te pas.
Laai oefenwerkboek af
Jy kan die aflaai werkboek en oefen saam met hulle.
VBA Match Value in Range.xlsm
Inleiding tot Excel VBA Match Function
Die Pas funksie in Excel VBA is 'n nuttige gekonstrueerde opsoekfunksie wat, soos VLOOKUP , HLOOKUP en die INDEX funksies, gee die ligging van identiese of vergelykbare passing van die opsoekwaardes wat in skikkings of 'n databasis verkry is, terug. Hierdie funksie is 'n werkbladfunksie wat die program gebruik. Omdat dit 'n werkbladfunksie is, is die parameters vir die Pasfunksie soortgelyk aan dié vir die werkbladfunksie.
3 Voorbeelde van Excel VBA om waarde in reeks te pas
1. Pas waarde in reeks met VBA-passingsfunksie in Excel
Om die Excel VBA Match-funksie te gebruik, om die paswaarde in 'n reeks te vind, gaan ons die volgende datastel gebruik . Die datastel het sommige studente se name in kolom C , hul punte op 'n spesifieke vak in kolom D , en die reeksnommer van elke student in kolom B . Nou, veronderstel onswil die pasposisie in sel G5 van 'n spesifieke merk vind, en die merk wat ons wil pas is in sel F5 .
Kom ons demonstreer die prosedure om vind paswaardes in 'n reeks deur die Excel VBA Match-funksie te gebruik.
STAPPE:
- Gaan eers na die Ontwikkelaar oortjie vanaf die lint.
- Tweedens, klik op Visual Basic om die Visual Basic Editor oop te maak, waar ons skryf die kode. Of druk Alt + 11 om die Visual Basic Editor oop te maak.
- Nog 'n manier om oop te maak Visual Basic Editor is net om regskliek op die werkblad en klik op Bekyk kode .
- Dit sal die Visual Basic Editor oopmaak. Skryf nou die kode daar.
VBA-kode:
6078
- Daarna, om die kode te laat loop, druk die F5 sleutel op jou sleutelbord of klik op die Rub Sub knoppie.
- Uiteindelik kan u sien dat die pasmaat is gevind in posisie 5 .
🔎 Hoe werk die VBA-kode?
-
Sub example1_match()
: Dit beteken ons definieer 'n subprosedure deur die makronaam te gee. -
Range("G5").Value
: Ons wil hê die afvoer wat in sel G5 gestoor moet word. -
WorksheetFunction
: Deur hierdie kode te gebruik sal ons toegang tot die VBA-funksies kan kry.
-
Match(Range("F5").Value, Range("D5:D10"), 0)
: Hier gebruik ons die Match-funksie in VBA. Soos ons die waarde van wil neemsel F5 en vind die posisie in reeks D5:D10 . -
End Sub
: Dit beteken dat ons die prosedure beëindig.
Lees meer: Excel VBA om string in kolom te pas (5 voorbeelde)
2. Gebruik Excel VBA om waarde van 'n ander werkblad te pas
Ons kan paswaardes in die reeks van 'n ander werkblad vind deur die VBA Match-funksie in Excel te gebruik. Aanvaar dat ons 'n datastel in 'n blad met die naam " Data " het en ons wil die resultaat in die bladnaam " Resultaat hê". En ons gebruik dieselfde datastel. Kom ons volg nou die stappe om dit te doen.
STAPPE:
- In die begin, op dieselfde manier as die vorige voorbeeld, gaan na die Ontwikkelaar oortjie op die lint.
- Klik dan op Visual Basic of druk Alt + F11 om die Visual Basic Editor oop te maak.
- In plaas daarvan, om die Visual Basic Editor oop te maak, klik eenvoudig met die rechtermuisknop op die blad en kies Bekyk kode .
- Skryf nou die VBA-kode neer.
VBA-kode:
9951
- Volgende, voer die kode uit deur die F5 -sleutel te druk of die Run Sub -knoppie te klik.
- En die resultaat word in die " Resultaat "-blad gevind.
Lees meer: Hoe om data in Excel vanaf 2 werkblaaie te pas
Soortgelyke lesings
- Stel alle passings op met VLOOKUP in Excel (3 MaklikManiere)
- Hoe om hooflettergevoelige passing in Excel te vind (6 formules)
- Hoe om name in Excel te pas waar spelling verskil (8 metodes) )
3. Excel VBA-lusse om ooreenstemmende waarde in reeks te kry
Gestel, ons wil hê dat veelvuldige punte by die waarde pas, ons sal die VBA-lusse hiervoor gebruik. Ons gebruik dieselfde datastel as voorheen. Nou wil ons die pasposisie in kolom G hê, en die punte wat ons die pasmaat wil vind is in kolom F . Kom ons kyk na die trappe af.
STAPE:
- Gaan eerstens vanaf die lint na die Ontwikkelaar oortjie.
- Tweedens, om die Visual Basic Editor oop te maak, klik op Visual Basic of druk Alt + F11 .
- Of regskliek eenvoudig op die blad en kies Bekyk kode .
- Dit sal die Visual Basic Editor .
- Tik nou die kode daar.
VBA-kode:
9935
- Daarna, deur die F5 -sleutel te druk of die Run Sub -knoppie te klik, sal die kode laat loop.
- En jy sal die resultaat in kolom G kan sien.
🔎 Hoe werk die VBA-kode?
-
For i = 5 To 8
: Dit beteken ons wil hê dat die lus moet begin met ry 5 en eindig met ry 8 . -
Cells(i, 7).Value
: Dit stoor die waarde van die resulterende liggings in elke ry van 5 tot 8 rye in kolom G wat kolomnommer 7 is. -
Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: Selle kan ooreenstem met die Pas -funksie (i, 6). Waardes soek vir elke Opsoekwaarde wat in rye 5 tot 8 van die 6de kolom gevind word. Toe gesoek in skikking D5:D10 op 'n Excel-blad waar data beskikbaar is.
Lees meer: Excel Vind passende waardes in twee kolomme
Dinge om in gedagte te hou
- As die passingtipe ontbreek of nie gespesifiseer is nie, word aanvaar dat dit 1<2 is>.
- As geen passing bespeur word nie, sal 'n verwante Excel-veld leeg wees.
- Opsoekwaarde kan 'n numeriese, karakter of logiese data wees, of 'n selverwysing na 'n hoeveelheid, teks , of logiese betekenis.
Gevolgtrekking
Bogenoemde metodes sal jou help om waardes in 'n reeks in Excel VBA te pas. Hoop dit sal jou help! As u enige vrae, voorstelle of terugvoer het, laat weet ons asseblief in die kommentaarafdeling. Of jy kan 'n blik op ons ander artikels in die ExcelWIKI.com -blog kyk!