VBA дахь Find функцийг хэрхэн ашиглах вэ (6 жишээ)

  • Үүнийг Хуваалц
Hugh West

Бидний Visual Basic Application (VBA) -д ашигладаг хамгийн чухал бөгөөд өргөн хэрэглэгддэг функцүүдийн нэг бол Find функц юм. Энэ нийтлэлд би Excel-ийн FIND функцийг зөв жишээ, дүрслэлээр хэрхэн ашиглахыг танд үзүүлэх болно.

Дадлагын ажлын номыг татаж авах

Excel.xlsm дээрх VBA-н функцийг олох

VBA-д FIND функцийг ашиглах 6 хурдан жишээ

Бид энд байна Мартин номын дэлгүүр гэх номын дэлгүүрийн Номын нэр, Зохиогчид болон Үнэ бүхий мэдээллийн багцыг өнөөдөр авсан.

Өнөөдөр бидний зорилго бол энэ өгөгдлийн багцаас VBA -ийн Олгох функц -ын төрөл бүрийн хэрэглээг харах явдал юм.

1. Үзүүлэлтгүй VBA-д хайх функцийг ашиглаарай

Та VBA -ийн Олгох функц -г параметргүй ашиглаж болно.

Дараа нь энэ нүднүүдийн хүрээнд тодорхой утгыг хайж олох бөгөөд эхний олсон тохирохыг нь буцаана.

Нэрийг хайцгаая “P. B. Shelly” баганад Зохиогч ( C4:C13 ).

Олгох функц -тай мөр нь:

Set cell = Range("C4:C17").Find("P. B. Shelly")

Бүрэн VBA код нь:

<1 байх болно> VBA код:

2443

Гаралт:

Энэ нь үүсгэдэг. Макро нь Ол гэж нэрлэгддэг. Хэрэв та Макро ажиллуулбал энэ нь $C$6 буюу P нэртэй эхний нүдний хаягийг буцаана. B. Shelly .

Дэлгэрэнгүй унших: VBA-тай муж дотроос олохExcel: Яг ба хэсэгчилсэн тохирлыг оруулаад

2. VBA дахь Find функцийг After параметрээр хэрэглээрэй (Тодорхой нүднээс хайж эхлэхийн тулд)

Та After параметрийг Find функцээр ашиглаж болно. VBA -д. Дараа нь энэ нь муж доторх нүдний доороос утгыг хайж эхэлнэ.

Жишээ нь “P. B. Shelly” доороос C6 .

Кодын мөр нь:

Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))

байх болно. Мөн бүрэн VBA код нь:

VBA код:

1181

<байх болно. 0> Гаралт:

Энэ нь C6 нүднээс хайж эхэлдэг тул $C$13 -г буцаана, Энэ нь C7 нүднээс. Тэгэхээр P болно. B. C13 нүдэн дэх Шелли эхлээд.

Дэлгэрэнгүй унших: Хэрхэн мөрийг олох вэ Excel-д VBA ашиглах нүд

3. VBA дахь Find функцийг дараа параметрийг тойруулан ажиллуулна уу (Утгыг дугуй хэлбэрээр хайхын тулд)

Дараа параметрийг Find функцтэй утгыг дугуй хэлбэрээр хайдаг

Өөрөөр хэлбэл, муж доторх нүдний доороос хайлт хийж, муж дотор хайлтаа дуусгаж, дараа нь дахин мужийн дээд хэсгээс эхэлнэ.

Жишээ нь C8 нүдний доорх “John Keats” нэрийг After параметр ашиглан хайж эхэлцгээе.

Мөр код нь:

Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))

болнобүрэн VBA код байх болно:

VBA код:

2857

Гаралт:

Энэ нь C8 нүднээс доороос хайлт хийж эхлэх тул $C$7 -г буцаана. C9 нүд.

Энэ нь C13 нүд хүртэл юу ч олоогүй тул дахин C4 нүднээс эхэлж нүднээс нэгийг олно. C7 .

Ижил төстэй уншилтууд:

  • VBA ашиглан мөрийг хэрхэн олох вэ Excel дээр (8 жишээ)
  • Excel дээрх VBA-г ашиглан яг таарч тохирохыг олох (5 арга)
  • VBA-г хэрхэн олж, солих вэ (11) арга замууд)

4. VBA дахь Find функцийг LookAt параметрээр ашиглаарай (Яг эсвэл хэсэгчилсэн тааруулахын тулд)

Та VBA доторх Find функцийг -г <1-тэй хамт ашиглаж болно>LookAt параметр.

LookAt = xlWhole Яг тохируулгыг, LookAt=xlPart Хэсэгчилсэн хувьд ашиглана уу. таарч байна.

Жишээ нь Номын нэр багананд “Ode” нэртэй ном байгаа эсэхийг олж мэдье>B4:B13 ).

Хэрэв бид кодын мөрөнд xlWhole -г ашиглавал:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)

Гаралт нь ямар ч яг тохирохыг олохгүй тул алдаа харуулах болно.

Гэхдээ хэрэв та дараахыг ашиглавал:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)

Дараа нь $B$9 буцаана, учир нь нүдэнд “Ode” гэсэн нэртэй ном байгаа. B7 , Nightingale дуулал.

Тиймээс хэсэгчилсэн -ийн бүрэн код таарч байна.нь:

VBA код:

4079

5. VBA дахь Find функцийг SearchDirection параметрээр ажиллуулна уу (Хайлтын чиглэлийг тодорхойлохын тулд)

Мөн та VBA доторх Find функцийг -г ашиглаж болно. SearchDirection параметр.

Дээшээс доош хайхын тулд SearchDirection = xlNext -г ашиглана уу.

Ба SearchDirection = xlPrevious нь Доодоос дээш хүртэл хайлт хийхэд зориулагдсан.

Жишээ нь Зохиогч баганад Зохиогч Элиф Шафак -г олохыг оролдъё. ( C4:C13 ).

Хэрэв бид кодын мөрөнд xlNext -г ашиглавал:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)

Дараа нь $C$5 буцаана.

Гэхдээ хэрэв та дараахыг ашиглавал:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)

Дараа нь $C$11 буцаана.

Тиймээс доодоос дээш хүртэл хайх бүрэн код нь:

VBA код:

8876

6. MatchCase параметр бүхий VBA дахь функцийг хайж олох (Тэгвэл том жижиг хэмжээтэй эсвэл мэдрэмжгүй тааруулахын тулд)

Эцэст нь та Find функцийг MatchCase параметртэй ашиглаж болно.

Үйлдвэрийн том үсгийн мэдрэмжтэй тохируулга , MatchCase = Үнэн , MatchCase= Худал -г ашиглана уу. жижиг жижиг тохиолдол.

Жишээ нь Номын нэр баганаас “ээж” номыг олохыг оролдъё ( B4:B13 ).

Хэрэв бид кодын мөрөнд True-г ашиглавал:

Set cell = Range("B4:B13").Find("mother", MatchCase:=True)

Гаралтад алдаа гарна. ямар ч олдохгүй байнатаарч байна.

Гэхдээ хэрэв та дараахыг ашиглавал:

Set cell = Range("B4:B13").Find("mother", MatchCase:=False)

Дараа нь буцаана $ B$9 учир нь B8 нүдэнд “Ээж” нэртэй ном байгаа.

Тиймээс бүрэн код үсгийн жижиг үсэг мэдрэгддэггүй тохирох нь:

VBA код:

1563

Дүгнэлт

Эдгээр аргуудыг ашигласнаар Visual Basic програмын Find функцийг ашиглаж болно. Танд асуух зүйл байна уу? Биднээс асуугаарай.

Хью Уэст бол салбартаа 10 гаруй жил ажилласан туршлагатай Excel-ийн сургагч багш, шинжээч юм. Нягтлан бодох бүртгэл, санхүүгийн чиглэлээр бакалавр, бизнесийн удирдлагын магистр зэрэгтэй. Хью багшлах сонирхолтой бөгөөд дагаж мөрдөх, ойлгоход хялбар заах өвөрмөц арга барилыг боловсруулсан. Түүний Excel-ийн мэдлэг чадвар нь дэлхий даяарх олон мянган оюутан, мэргэжилтнүүдэд ур чадвараа дээшлүүлж, ажил мэргэжлээрээ амжилт гаргахад тусалсан. Хью өөрийн блогоороо дамжуулан өөрийн мэдлэгээ дэлхийтэй хуваалцаж, Excel програмын үнэгүй зааварчилгаа, онлайн сургалтыг хувь хүмүүс болон бизнесүүдэд бүрэн дүүрэн ашиглахад нь туслах зорилгоор санал болгодог.