Tabl cynnwys
Un o'r swyddogaethau pwysicaf a ddefnyddir yn helaeth a ddefnyddiwn yn Cymhwysiad Sylfaenol Gweledol (VBA) yw'r swyddogaeth Darganfod. Yn yr erthygl hon, byddaf yn dangos i chi sut y gallwch ddefnyddio'r swyddogaeth FIND o Excel gydag enghreifftiau a darluniau cywir.
Lawrlwythwch Gweithlyfr Ymarfer
<6 Dod o Hyd i Swyddogaeth yn VBA yn Excel.xlsm
6 Enghreifftiau Cyflym i Ddefnyddio'r Swyddogaeth DARGANFOD yn VBA
Dyma ni wedi wedi cael set ddata gyda Enwau Llyfrau, Awduron a Pris rhai o lyfrau siop lyfrau o'r enw Martin Bookstore.
Heddiw ein hamcan yw gweld gwahanol fathau o ddefnyddiau o'r ffwythiant Canfod o VBA o'r set ddata hon.
1. Defnyddiwch y Swyddogaeth Darganfod yn VBA gyda Dim Paramedr
Gallwch ddefnyddio'r Fod swyddogaeth o VBA heb unrhyw baramedrau.
Yna mae'n yn chwilio am werth penodol o fewn ystod o gelloedd ac yn dychwelyd y cyfatebiad cyntaf y mae'n ei ddarganfod.
Dewch i ni chwilio am yr enw “P. B. Shelly” yn y golofn Awdur ( C4:C13 ).
Y llinell gyda'r swyddogaeth Dod o hyd i fydd:
Set cell = Range("C4:C17").Find("P. B. Shelly")
Cod VBA cyflawn cyflawn fydd:
⧭ Cod VBA:
7115
⧭ Allbwn:
Mae'n cynhyrchu Macro o'r enw Find . Os ydych chi'n rhedeg y Macro, bydd yn dychwelyd $C$6 , y cyfeiriad cell cyntaf gyda'r enw P. B. Shelly .
Darllenwch fwy: Canfod o fewn Ystod gyda VBA ynExcel: Gan Gynnwys Cyfatebiaethau Union a Rhannol
2. Cymhwyswch y Swyddogaeth Darganfod yn VBA gyda'r Paramedr Ar ôl (I Ddechrau Chwilio o Gell Benodol)
Gallwch ddefnyddio'r paramedr Ar ôl gyda'r swyddogaeth Dod o hyd i yn VBA . Yna bydd yn dechrau chwilio am werth o dan gell o fewn ystod.
Er enghraifft, gadewch i ni ddechrau chwilio am yr enw “P. B. Shelly” o dan gell C6 .
Llinell y cod fydd:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
A'r cod VBA cyflawn fydd:
⧭ Cod VBA:
8216
0> ⧭ Allbwn:
Bydd yn dychwelyd $C$13 oherwydd ei fod yn dechrau chwilio o islaw cell C6 , mae hynny o gell C7 . Felly mae'n cael P. B. Shelly yn y gell C13 yn gyntaf.
Darllenwch fwy: Sut i Dod o Hyd i Llinyn mewn a Cell Gan Ddefnyddio VBA yn Excel
3. Rhedeg y Swyddogaeth Darganfod yn VBA gyda Lapio o amgylch y Paramedr Ar ôl (I Chwilio am Werth mewn Ffordd Gylchol)
Y paramedr Ar ôl gyda'r swyddogaeth Dod o hyd i yn chwilio am werth mewn ffordd gylchol
Hynny yw, mae'n dechrau chwilio o dan gell o fewn amrediad, yn gorffen chwilio yn yr amrediad, ac yna'n dechrau eto o frig yr amrediad.
0>Er enghraifft, gadewch i ni ddechrau chwilio'r enw "John Keats"o dan gell C8gan ddefnyddio'r paramedr Ar ôl.Y llinell o cod fydd:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
A'rcwblhau cod VBA fydd:
⧭ Cod VBA:
8984
⧭ Allbwn:
Bydd yn dychwelyd $C$7 oherwydd ei fod yn dechrau chwilio o islaw cell C8 , hynny o cell C9 .
Nid yw'n dod o hyd i unrhyw beth hyd at gell C13 , felly mae'n dechrau eto o gell C4 ac yn dod o hyd i un yn y gell C7 .
Darlleniadau Tebyg:
- Sut i Dod o Hyd i Llinyn gyda VBA yn Excel (8 Enghreifftiau)
- Dod o Hyd i'r Union Baru gan Ddefnyddio VBA yn Excel (5 Ffordd)
- Sut i Ddarganfod ac Amnewid Gan Ddefnyddio VBA (11 Ffyrdd)
4. Defnyddiwch y Swyddogaeth Darganfod yn VBA gyda'r Paramedr LookAt (Ar gyfer Cyfateb Union neu Rannol)
Gallwch ddefnyddio'r Fod swyddogaeth yn VBA gyda'r >Edrychwch paramedr.
Defnyddiwch LookAt = xlWhole ar gyfer gêm Union , a LookAt=xlPart ar gyfer Ranol cyfateb.
Er enghraifft, gadewch i ni geisio darganfod a oes unrhyw lyfr gyda'r enw "Ode" yn y golofn Enw'r Llyfr ( B4:B13 ).
Os defnyddiwn xlCyfan yn llinell y cod:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
Bydd yr allbwn yn dangos gwall oherwydd ni fydd yn dod o hyd i unrhyw union cyfateb.
Ond os ydych yn defnyddio:
<7 Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Yna bydd yn dychwelyd $B$9 , oherwydd mae llyfr gyda'r enw "Ode" ynddo yn y gell B7 , Awdl i'r Eos.
Felly cod cyflawn y gêm rhannol yw:
⧭ Cod VBA:
1440
5. Gweithredwch y Swyddogaeth Darganfod yn VBA gyda Pharamedr SearchDirection (I Nodi Cyfeiriad y Chwiliad)
Gallwch hefyd ddefnyddio'r swyddogaeth Find yn VBA gyda'r SearchDirection paramedr.
Defnyddiwch SearchDirection = xlNesaf i chwilio o Top i'r Gwaelod .
A SearchDirection = xlCynt ar gyfer chwilio o Gwaelod i Ben .
Er enghraifft, gadewch i ni geisio dod o hyd i'r Awdur Elif Shafak yn y golofn Awdur ( C4:C13 ).
Os defnyddiwn xlNesaf yn llinell y cod:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Yna bydd yn dychwelyd $C$5 .
Ond os ydych yn defnyddio:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Yna bydd yn dychwelyd $C$11 .
Felly cod cyflawn ar gyfer chwilio o gwaelod i'r brig yw:
⧭ Cod VBA:
2971
6. Dod o hyd i Swyddogaeth yn VBA gyda Pharamedr MatchCase (Ar gyfer Paru sy'n Sensitif i Achos neu Ansensitif)
Yn olaf, gallwch ddefnyddio'r swyddogaeth Find gyda'r paramedr MatchCase .
Defnyddiwch MatchCase=Gwir ar gyfer gêm sy'n sensitif i achos , a MatchCase=Anghywir ar gyfer cyfatebiaeth cas-ansensitif.
Er enghraifft, gadewch i ni geisio dod o hyd i'r llyfr "mam" yn y golofn Enw'r Llyfr ( B4:B13 ).
Os defnyddiwn Gwir yn llinell y cod:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
Bydd yr allbwn yn dangos gwall oherwydd bydd yn' t ddod o hyd i unrhywcyfateb.
Ond os ydych yn defnyddio:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
Yna bydd yn dychwelyd $ B$9 oherwydd bod llyfr o'r enw “Mam” yn y gell B8 .
Felly cod cyflawn ar gyfer y cyfatebiad cas-ansensitif yw:
⧭ Cod VBA:
1587
<4 Casgliad
Gan ddefnyddio'r dulliau hyn, gallwch ddefnyddio'r Swyddogaeth Darganfod mewn Cymhwysiad Sylfaenol Gweledol. Oes gennych chi unrhyw gwestiynau? Mae croeso i chi ofyn i ni.