"Excel" VBA reikšmės atitikimas diapazone (3 pavyzdžiai)

  • Pasidalinti
Hugh West

Dirbant su "Microsoft Excel , kartais mums reikia surasti diapazone sutampančią reikšmę. Tai galime nesunkiai padaryti naudodami Excel funkcijas. VBA yra funkcijų, kurias galime naudoti, tačiau nė viena iš jų nėra lygi MATCH . Šiame straipsnyje sužinosime, kaip suderinti diapazono reikšmę su "Excel" VBA .

Atsisiųsti praktikos sąsiuvinį

Galite atsisiųsti pratybų sąsiuvinį ir pasipraktikuoti su jais.

VBA Atitikimo reikšmė Range.xlsm

Įvadas į "Excel" VBA atitikimo funkciją

Svetainė Rungtynių funkcija "Excel" VBA yra naudinga sukonstruota paieškos funkcija, kuri, pvz. VLOOKUP , HLOOKUP , ir INDEKSAS funkcijos, grąžina vienodų arba panašių paieškos reikšmių, gautų masyvuose arba duomenų bazėje, atitikimo vietą. Ši funkcija yra darbalapio funkcija, kurią naudoja programa. Kadangi tai yra darbalapio funkcija, funkcijos "Match" parametrai yra panašūs į darbalapio funkcijos parametrus.

3 "Excel VBA" pavyzdžiai, kaip suderinti reikšmę diapazone

1. Vertės atitikimas diapazone naudojant "Excel" VBA atitikimo funkciją

Naudoti "Excel" VBA funkcija "Match , norėdami rasti diapazono atitikmenį, naudosime šį duomenų rinkinį. Duomenų rinkinio stulpelyje yra keletas mokinių vardų C , jų konkretaus dalyko įvertinimai stulpelyje D , o kiekvieno mokinio eilės numeris stulpelyje B Tarkime, kad norime rasti atitikmens vietą ląstelėje G5 konkretaus ženklo, o ženklas, kurį norime sutapatinti, yra ląstelėje F5 .

Pademonstruokime procedūrą, kaip rasti sutampančias reikšmes diapazone naudojant "Excel VBA" funkciją "Match". .

ŽINGSNIAI:

  • Pirmiausia eikite į Kūrėjas skirtuką iš juostos.
  • Antra, spustelėkite "Visual Basic atidaryti "Visual Basic" redaktorius , kur įrašome kodą. Arba paspauskite Alt + 11 atidaryti "Visual Basic" redaktorius .

  • Kitas būdas atidaryti "Visual Basic" redaktorius yra tik dešiniuoju pelės klavišu spustelėkite ant darbalapio ir spustelėkite Peržiūrėti kodą .

  • Taip bus atidarytas "Visual Basic" redaktorius . Dabar įrašykite kodą.

VBA kodas:

 Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub 
  • Po to, norėdami paleisti kodą, paspauskite F5 klaviatūros klavišą arba spustelėkite "Rub Sub mygtuką.

  • Galiausiai matote, kad atitikmuo rastas pozicijoje 5 .

🔎 Kaip veikia VBA kodas?

  • Dalis example1_match() : Tai reiškia, kad apibrėžiame paprocedūrą, suteikdami makrokomandai pavadinimą.
  • Range("G5").Value : Norime, kad išvestis būtų saugoma ląstelėje G5 .
  • Darbalapio funkcija : Naudodami šį kodą galėsime pasiekti VBA funkcijas.
  • Match(Range("F5").Value, Range("D5:D10"), 0) : Čia mes naudojame funkcija "Match Kadangi norime paimti reikšmę iš ląstelės F5 ir išsiaiškinkite padėtį diapazone D5:D10 .
  • Pabaiga Sub : Tai reiškia, kad baigiame procedūrą.

Skaityti daugiau: "Excel VBA" stulpelio eilutės atitikimas (5 pavyzdžiai)

2. Naudokite "Excel VBA", kad atitiktumėte reikšmę iš kitos darbalapio

Atitinkamas intervalų reikšmes galime rasti iš kito darbalapio, naudodami VBA funkcija "Match svetainėje "Excel" Tarkime, kad turime duomenų rinkinį lape, pavadintame " Duomenys ", o rezultatą norime gauti lapo pavadinime " Rezultatas ". Ir mes naudojame tą patį duomenų rinkinį. Dabar atlikime šiuos veiksmus.

ŽINGSNIAI:

  • Pradžioje, kaip ir ankstesniame pavyzdyje, eikite į Kūrėjas juostos skirtukas.
  • Tada spustelėkite "Visual Basic arba paspauskite Alt + F11 atidaryti "Visual Basic" redaktorius .
  • Vietoj to, kad atidarytumėte "Visual Basic" redaktorius , tiesiog dešiniuoju pelės klavišu spustelėkite lapą ir pasirinkite Peržiūrėti kodą .

  • Dabar užrašykite VBA kodą.

VBA kodas:

 Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub 
  • Tada paleiskite kodą paspausdami F5 klavišą arba spustelėdami Paleisti "Run Sub mygtuką.

  • Rezultatas pateikiamas " Rezultatas " lapas.

Skaityti daugiau: Kaip suderinti "Excel" duomenis iš 2 darbalapių

Panašūs skaitiniai

  • Visų atitikmenų suma naudojant VLOOKUP programoje "Excel" (3 paprasti būdai)
  • Kaip "Excel" rasti "Case Sensitive Match" ( 6 formulės)
  • Kaip "Excel" programoje suderinti vardus, kai rašyba skiriasi (8 metodai)

3. "Excel" VBA kilpos, skirtos suderinti reikšmę diapazone

Tarkime, norime, kad reikšmė sutaptų su keliais ženklais, tam naudosime VBA kilpas. Naudojame tą patį duomenų rinkinį kaip ir anksčiau. Dabar norime, kad sutapimo pozicija būtų stulpelyje G , o ženklai, kuriems norime rasti atitikmenį, yra stulpelyje F ... Pažiūrėkime į laiptelius žemyn.

ŽINGSNIAI:

  • Pirmiausia juostoje eikite į Kūrėjas skirtukas.
  • Antra, atidaryti "Visual Basic" redaktorius , spustelėkite "Visual Basic arba paspauskite Alt + F11 .
  • Arba tiesiog dešiniuoju pelės klavišu spustelėkite lapą ir pasirinkite Peržiūrėti kodą .

  • Taip bus atidarytas "Visual Basic" redaktorius .
  • Dabar įveskite kodą.

VBA kodas:

 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 
  • Po to paspauskite F5 klavišą arba spustelėdami Paleisti "Run Sub bus paleistas kodas.

  • Rezultatą galėsite matyti stulpelyje G .

🔎 Kaip veikia VBA kodas?

  • For i = 5 To 8 : Tai reiškia, kad norime, jog ciklas būtų paleistas nuo eilutės 5 ir baigiant eilute 8 .
  • Cells(i, 7).Value : Taip išsaugoma kiekvienos eilutės rezultato vietų vertė iš 5 į 8 stulpelio eilutės G kuris yra stulpelio numeris 7 .
  • Match(Cells(i, 6).Value, Range("D5:D10"), 0) : Ląsteles galima lyginti naudojant Rungtynės funkcija (i, 6). Vertės ieško kiekvienos eilutėse rastos paieškos vertės 5 per 8 6. stulpelyje. Tada ieškoma masyve D5:D10 "Excel" lape, kuriame yra duomenų.

Skaityti daugiau: "Excel" rasti sutampančias vertes dviejuose stulpeliuose

Dalykai, kuriuos reikia turėti omenyje

  • Jei rungtynių tipo nėra arba jis nenurodytas, laikoma, kad jis yra 1 .
  • Jei atitikmenų neaptinkama, susijęs excel laukas bus tuščias.
  • Paieškos reikšmė gali būti skaitiniai, simboliniai ar loginiai duomenys arba langelio nuoroda į kiekį, tekstą ar loginę reikšmę.

Išvada

Šie metodai padės jums suderinti reikšmes diapazone "Excel VBA". Tikimės, kad tai jums padės! Jei turite klausimų, pasiūlymų ar atsiliepimų, praneškite mums komentarų skiltyje. Arba galite peržvelgti kitus mūsų straipsnius. ExcelWIKI.com tinklaraštis!

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.