"Excel VBA" stulpelio vertei rasti (6 tinkami pavyzdžiai)

  • Pasidalinti
Hugh West

MS Excel programoje dažnai reikia ieškoti arba rasti reikšmes duomenų rinkinyje. Tai gali būti duomenų paieška eilutėse arba stulpeliuose. Laimei, Excel programoje yra įvairių funkcijų ir formulių, skirtų tokioms užduotims atlikti. Naudodami Excel VBA kodą, galime automatizuoti šią paieškos arba reikšmių radimo užduotį. Šiame straipsnyje pamatysime įvairius būdus, kaip rasti stulpelio vertę "Excel VBA" programoje.

Atsisiųsti praktikos sąsiuvinį

Rasti reikšmę stulpelyje.xlsm

6 VBA pavyzdžiai, kaip rasti vertę "Excel" stulpelyje

Turėkime duomenų rinkinį, kuriame pateikiama informacija apie gaminius ir jų Produkto ID , Prekės ženklas , Modelis , Vieneto kaina , ir Užsakymo ID . Mūsų užduotis - išsiaiškinti suderintą Užsakymo ID . Dabar mūsų užduotis - išsiaiškinti Užsakymo ID susijęs su Produkto ID .

1. Rasti vertę stulpelyje naudojant VBA funkciją Find

Pirmajame pavyzdyje naudosime VBA funkcija Rasti rasti stulpelio reikšmę.

📌 Žingsniai:

  • Eikite į lapo apačioje esantį lapo pavadinimą.
  • Paspauskite dešinįjį pelės mygtuką.
  • Pasirinkite Peržiūrėti kodą parinktį iš sąrašo.

  • Atsidarys VBA langas. Tada pasirinkite Modulis Įdėkite parinktis

  • Dabar VBA konsolėje įrašykite šį kodą
 Sub Find_Value() Dim ProductID As Range Range("D4").ClearContents Set ProductID = Range("B8:B19").Find(What:=Range("C4").Value, _ LookIn:=xlValues, LookAt:=xlWhole) If Not ProductID Is Nothing Then Range("E5").Value = ProductID.Offset(, 4).Value Else MsgBox "No Matched Data Found !!" End If End Sub 

  • Dabar Į duomenų rinkinį įterpkite mygtuką.
  • Eikite į Kūrėjas skirtukas.
  • Pasirinkite Mygtukas ( Formos valdymas ) iš Įdėkite skyrius.

  • Suteikite bet kokį mygtuko pavadinimą. Pavyzdžiui, aš jį suteikiu kaip Paieška .

  • Priskirkite kodą šiam mygtukui.
  • Pasirinkite mygtuką ir paspauskite dešinįjį pelės mygtuką.
  • Pasirinkite Priskirti makrokomandą iš sąrašo.

  • Pasirinkite norimą makrokomandą iš Priskirti makrokomandą langas.
  • Tada paspauskite GERAI .

  • Dabar rašykite bet kokį Produkto ID ir spustelėkite Paieška mygtuką.

Matome, kad nerodoma atitiktis, nes šio gaminio numerio sąraše nėra.

  • Kitaip tariant Produkto ID ir dar kartą paspauskite Paieška mygtuką.

Gauname pateikto užsakymo numerį Produkto ID .

Skaityti daugiau: Kaip gauti ląstelės vertę pagal eilutę ir stulpelį "Excel VBA

2. VBA reikšmei iš skirtingų darbalapių rasti

Dabar šiame skyriuje atliksime tą patį, ką ir pirmiau, bet skirtingiems darbalapiams. Tarkime, kad mūsų informacija apie gaminį yra Lapas 2 , o paieškos laukelis yra 3 lapas Dabar parašysime VBA kodą, kad galėtume ieškoti užsakymo ID pagal produkto ID iš 3 lapas .

2 lapas:

3 lapas:

📌 Žingsniai:

  • Atlikite tuos pačius veiksmus iš 1 žingsnis į 2 žingsnis iš ankstesnio metodo, kad atidarytumėte VBA konsolę
  • Dabar VBA konsolėje įrašykite šį kodą
 Sub Find_Value_from_worksheets() Dim rng As Range Dim ProductID As String Dim rownumber As Long ProductID = Sheet3.Cells(4, 3) Set rng = Sheet2.Columns("B:B").Find(What:=ProductID, _ LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) rownumber = rng.Row Sheet3.Cells(5, 5).Value = Sheet2.Cells(rownumber, 6).Value End Sub 

  • Dabar vėl įterpkite mygtuką, kaip ir ankstesniame.
  • Tada priskirkite makrokomandos kodą mygtukui.

  • Įveskite bet kurį Produkto ID ir spustelėkite Vykdyti Mygtukas

Skaityti daugiau: Stulpelio vertės paieška ir kito stulpelio vertės grąžinimas "Excel" programoje

3. Rasti ir pažymėti stulpelio reikšmę

Pažiūrėkime, kaip galime sužinoti stulpelio reikšmes, jas pažymėdami. Tam tarkime, kad pirmiau pateiktas tas pats duomenų rinkinys su papildomu stulpeliu, pavadintu Pristatymo būsena . Dabar mūsų užduotis - pažymėti reikšmes Pristatymo būsena stulpelis, kuris yra Laukiama .

📌 Žingsniai:

  • Atlikite tą patį veiksmą iš 1 žingsnis į 2 žingsnis kaip ir ankstesniu metodu, kad atidarytumėte VBA konsolę
  • Dabar VBA konsolėje įrašykite šį kodą
 Sub Find_and_Mark() Dim strAddress_First As String Dim rngFind_Value As Range Dim rngSrch As Range Dim rng_Find As Range Set rng_Find = ActiveSheet.Range("G1:G16") Set rngSrch = rng_Find.Cells(rng_Find.Cells.Count) Set rngFind_Value = rng_Find.Find("Pending", rngSrch, xlValues) If Not rngFind_Value Is Nothing Then strAddress_First = rngFind_Value.Address rngFind_Value.Font.Color = vbRed Do SetrngFind_Value = rng_Find.FindNext(rngFind_Value) rngFind_Value.Font.Color = vbRed Loop Until rngFind_Value.Address = strAddress_First End If End Sub 

  • Dabar eikite į darbalapį ir paleiskite kodą.
  • Žiūrėkite lentelėje pateiktą išvestį.

Skaityti daugiau: Kaip rasti didžiausią vertę "Excel" stulpelyje (4 metodai)

4. VBA stulpelio reikšmėms rasti naudojant užrastinius simbolius

Galiausiai pamatysime, kaip "Excel VBA" galime ieškoti arba rasti reikšmes stulpeliuose, naudodami pakaitinius simbolius. Šiam metodui vėlgi naudosime tą patį duomenų rinkinį, kaip ir pirmiau. Mūsų užduotis - rasti produktų kainas pagal jų modelį. Galime įvesti visą pavadinimą arba paskutinius ir (arba) pirmuosius simbolius. Produkto ID .

📌 Žingsniai:

  • Atlikite tą patį veiksmą iš 1 žingsnis į 2 žingsnis kaip ir ankstesniu metodu, kad atidarytumėte VBA konsolę
  • Dabar VBA konsolėje įrašykite šį kodą
 Sub Find_Using_Wildcards() Set myerange = Range("B5:G16") Set ID = Range("D19") Set Price = Range("F20") Price.Value = Application.WorksheetFunction.VLookup _ ("*" & Range("D19") & "*", myerange, 4, False) End Sub 

  • Vėl įterpkite mygtuką, kaip ir ankstesniame.
  • Dabar priskirkite makro kodą mygtukui.

  • Dabar įveskite bet kokį dalinį Produkto ID ir paspauskite Vykdyti mygtuką.

Skaityti daugiau: Kaip rasti mažiausią vertę "Excel" stulpelyje (6 būdai)

5. "Excel" VBA didžiausioms reikšmėms stulpelyje rasti

Šiuo atveju norime rasti didžiausią stulpelio reikšmę naudodami VBA kodą.

📌 Žingsniai:

  • Norime sužinoti didžiausią kainą.

  • Dabar į naują modulį įkelkite šį VBA kodą.
 Sub Column_Max() Dim range_1 As Range Set range_1 = Application.InputBox(prompt:="Select Range", Type:=8) Max_Column = WorksheetFunction.Max(range_1) MsgBox Max_Column End Sub 

  • Tada paspauskite F5 mygtuką, kad paleistumėte VBA kodą.
  • Svetainė Įvestis rodomas dialogo langas.
  • Duomenų rinkinyje pasirinkite intervalą.

  • Galiausiai paspauskite GERAI mygtuką.

Matome, kad dialogo lange rodoma didžiausia vertė.

6. "Excel" VBA paskutinei stulpelio vertei rasti

Šiuo atveju norime sužinoti tam tikro stulpelio paskutinės eilutės arba ląstelės reikšmę. Pavyzdžiui, norime sužinoti paskutinį gaminį iš stulpelio Prekė

📌 Žingsniai:

  • Įveskite VBA toliau pateiktas kodas modulyje.
 Sub last_value() Dim L_Row As Long L_Row = Cells(Rows.Count, "B").End(xlUp).Row MsgBox Cells(L_Row, 2).Value End Sub 

  • Tada paleiskite kodą paspausdami F5 mygtuką.

Dialogo lange rodoma paskutinė reikšmė.

Skaityti daugiau: Kaip rasti paskutinį vertės atsiradimą "Excel" stulpelyje (5 metodai)

Dalykai, kuriuos reikia prisiminti

Kai kurios dažniausiai pasitaikančios klaidos:

  • Klaida: Viena vertybė vienu metu. Nes RASTI vienu metu galima rasti tik vieną reikšmę.
  • Klaida: #NA svetainėje VLOOKUP Jei ieškomos reikšmės nėra pateiktame duomenų rinkinyje, ši funkcija grąžins šią reikšmę #NA klaida.
  • Range("Cell_Number").ClearContents dalis naudojama ankstesnei reikšmei iš ląstelės ištrinti. Priešingu atveju ankstesnę reikšmę reikia pašalinti rankiniu būdu.

Išvada

Tai keletas būdų, kaip rasti reikšmes stulpeliuose naudojant "Excel" VBA kodą. Parodžiau visus metodus su atitinkamais pavyzdžiais, tačiau gali būti ir daug kitų iteracijų. Taip pat aptariau naudojamų funkcijų pagrindus. Jei turite kitų būdų, kaip tai pasiekti, nedvejodami pasidalykite jais su mumis. Apsilankykite mūsų svetainėje ExcelWIKI daugiau įdomių straipsnių apie "Excel".

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ą.