Kazalo
V programu MS Excel moramo pogosto poiskati ali najti vrednosti v naboru podatkov. Lahko gre za iskanje podatkov v vrsticah ali stolpcih. Na srečo program Excel ponuja različne funkcije in formule za opravljanje tovrstnih nalog. S pomočjo kode Excel VBA lahko to nalogo iskanja ali iskanja vrednosti avtomatiziramo. V tem članku si bomo ogledali različne načine za iskanje vrednosti v stolpcu v programu Excel VBA.
Prenesi delovni zvezek za prakso
Poiščite vrednost v stolpcu.xlsm6 primerov VBA za iskanje vrednosti v stolpcu v Excelu
Imejmo nabor podatkov o izdelkih z njihovimi ID izdelka , Blagovna znamka , Model , Cena na enoto in ID naročila . Naša naloga je ugotoviti, ali se ujemajo ID naročila Zdaj je naša naloga, da ugotovimo ID naročila povezane z ID izdelka .
1. Iskanje vrednosti v stolpcu z uporabo funkcije VBA Find
V prvem primeru bomo uporabili Funkcija Poišči v VBA za iskanje vrednosti v stolpcu.
📌 Koraki:
- Pojdite na ime lista na dnu lista.
- Pritisnite desni gumb miške.
- Izberite Prikaži kodo možnost s seznama.
- Odpre se okno VBA. Nato izberite Modul iz Vstavite možnost
- V konzolo VBA napišite naslednjo kodo
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
- Zdaj vstavite gumb v nabor podatkov.
- Pojdite na Razvijalec zavihek.
- Izberite Gumb ( Nadzor obrazca ) iz Vstavite oddelek.
- Navedite poljubno ime gumba, kot ga imam jaz. Iskanje .
- Temu gumbu pripišite kodo.
- Izberite gumb in pritisnite desni gumb miške.
- Izberite Dodelitev makra s seznama.
- Izberite želeni makro iz Dodelitev makra okno.
- Nato pritisnite V REDU .
- Zdaj napišite poljuben ID izdelka in kliknite na Iskanje gumb.
Vidimo, da ni prikazano nobeno ujemanje, saj te številke izdelka ni na seznamu.
- Drugače povedano ID izdelka in znova pritisnite tipko Iskanje gumb.
Dobimo številko naročila za dano ID izdelka .
Preberite več: Kako pridobiti vrednost celice po vrstici in stolpcu v programu Excel VBA
2. VBA za iskanje vrednosti iz različnih delovnih listov
V tem razdelku bomo naredili isto kot zgoraj, vendar za različne delovne liste. Predpostavimo, da so naši podatki o izdelku v List 2 , iskalno polje pa je v List 3 Zdaj bomo napisali kodo VBA, da bomo lahko iskali ID naročila z uporabo ID izdelka iz List 3 .
List 2:
List3:
📌 Koraki:
- Sledite enakim korakom iz korak 1 na . korak 2 iz prejšnje metode za odprtje konzole VBA
- V konzolo VBA napišite naslednjo kodo
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
- Zdaj znova vstavite gumb, kot je bil prejšnji.
- Nato dodelite makro kodo gumbu.
- Vnesite katero koli ID izdelka in kliknite na Izvedba gumb
Preberite več: Poiščite vrednost v stolpcu in vrnite vrednost drugega stolpca v Excelu
3. Poiščite in označite vrednost v stolpcu
Oglejmo si, kako lahko poiščemo vrednosti iz stolpca tako, da jih označimo. V ta namen predpostavimo isti nabor podatkov zgoraj z dodatnim stolpcem z imenom Status dostave . Naša naloga je, da označimo vrednosti v Status dostave stolpec, ki so V obravnavi .
📌 Koraki:
- Sledite istemu koraku iz korak 1 na . korak 2 kot pri prejšnji metodi za odprtje konzole VBA
- V konzolo VBA napišite naslednjo kodo
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
- Zdaj pojdite na delovni list in zaženite kodo.
- Oglejte si rezultate v tabeli.
Preberite več: Kako najti najvišjo vrednost v stolpcu Excel (4 metode)
4. VBA za iskanje vrednosti v stolpcu z uporabo nadomestnih znakov
Nazadnje bomo videli, kako lahko v Excelu VBA iščemo ali najdemo vrednosti v stolpcih z uporabo nadomestnih znakov. Tudi pri tej metodi bomo uporabili isti nabor podatkov kot zgoraj. Naša naloga je poiskati cene izdelkov z uporabo njihovega modela. Vnesli bi lahko celotno ime ali zadnje/prve znake ID izdelka .
📌 Koraki:
- Sledite istemu koraku iz korak 1 na . korak 2 kot pri prejšnji metodi za odprtje konzole VBA
- V konzolo VBA napišite naslednjo kodo
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
- Spet vstavite gumb, kot je bil prejšnji.
- Sedaj dodelite makro kodo gumbu.
- Zdaj vnesite kateri koli delni ID izdelka in pritisnite Izvedba gumb.
Preberite več: Kako najti najnižjo vrednost v stolpcu programa Excel (6 načinov)
5. Excel VBA za iskanje največje vrednosti v stolpcu
V tem primeru želimo s kodo VBA poiskati največjo vrednost stolpca.
📌 Koraki:
- Želimo izvedeti najvišjo ceno.
- V nov modul vnesite naslednjo kodo VBA.
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
- Nato pritisnite F5 za zagon kode VBA.
- Spletna stran Vhod se prikaže pogovorno okno.
- Izberite območje iz nabora podatkov.
- Na koncu pritisnite V REDU gumb.
V pogovornem oknu je prikazana največja vrednost.
6. Excel VBA za iskanje zadnje vrednosti v stolpcu
Tu želimo izvedeti vrednost zadnje vrstice ali celice določenega stolpca. Na primer, želimo izvedeti zadnji izdelek iz stolpca Izdelek
📌 Koraki:
- Vnesite VBA Spodnja koda v modulu.
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
- Nato zaženite kodo tako, da pritisnete tipko F5 gumb.
Zadnja vrednost je prikazana v pogovornem oknu.
Preberite več: Kako poiskati zadnje pojavljanje vrednosti v stolpcu v Excelu (5 metod)
Stvari, ki si jih je treba zapomniti
Nekatere pogoste napake:
- Napaka: Ena vrednost naenkrat. Ker NAJDI metoda lahko najde le eno vrednost naenkrat.
- Napaka: #NA na spletnem mestu VLOOKUP Če iskane vrednosti ni v danem naboru podatkov, funkcija vrne to #NA napaka.
- Razpon("Cell_Number").ClearContents se uporablja za brisanje prejšnje vrednosti iz celice. V nasprotnem primeru je treba prejšnjo vrednost odstraniti ročno.
Zaključek
To so nekateri načini iskanja vrednosti v stolpcih z uporabo kode VBA v Excelu. Prikazal sem vse metode z ustreznimi primeri, vendar lahko obstajajo številne druge ponovitve. Obravnaval sem tudi osnove uporabljenih funkcij. Če imate kakršno koli drugo metodo za doseganje tega, jo lahko delite z nami. Obiščite našo spletno stran ExcelWIKI za več zanimivih člankov o Excelu.