როგორ გამოვიყენოთ Find ფუნქცია VBA-ში (6 მაგალითი)

  • გააზიარეთ ეს
Hugh West

ერთ-ერთი ყველაზე მნიშვნელოვანი და ფართოდ გამოყენებული ფუნქცია, რომელსაც ვიყენებთ Visual Basic აპლიკაციაში (VBA) არის Find ფუნქცია. ამ სტატიაში მე გაჩვენებთ, თუ როგორ შეგიძლიათ გამოიყენოთ Excel-ის FIND ფუნქცია სათანადო მაგალითებითა და ილუსტრაციებით.

ჩამოტვირთეთ პრაქტიკის სამუშაო წიგნი

VBA ფუნქციის პოვნა Excel.xlsm-ში

6 სწრაფი მაგალითი FIND ფუნქციის გამოსაყენებლად VBA-ში

აქ ჩვენ გვაქვს მიიღო მონაცემთა ნაკრები წიგნების სახელები, ავტორები და ფასები წიგნის მაღაზიის ზოგიერთი წიგნის სახელწოდებით Martin Bookstore.

დღეს. ჩვენი მიზანია ვნახოთ VBA VBA -ის Find ფუნქციის გამოყენების სხვადასხვა ტიპები ამ მონაცემთა ნაკრებიდან.

1. გამოიყენეთ Find ფუნქცია VBA-ში პარამეტრის გარეშე

შეგიძლიათ გამოიყენოთ Find ფუნქცია VBA პარამეტრების გარეშე.

შემდეგ მოძებნის კონკრეტულ მნიშვნელობას უჯრედების დიაპაზონში და დააბრუნებს პირველ შესატყვისს, რომელსაც აღმოაჩენს.

მოდით მოძებნოთ სახელი „P. B. Shelly" სვეტში Author ( C4:C13 ).

ხაზი Find ფუნქცია იქნება:

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

სრული VBA კოდი იქნება:

VBA კოდი:

2631

გამომავალი:

ის აწარმოებს მაკრო ე.წ. ძებნა . თუ თქვენ გაუშვით მაკრო, ის დააბრუნებს $C$6 , უჯრედის პირველ მისამართს სახელით P. B. Shelly .

დაწვრილებით: იპოვეთ დიაპაზონში VBA-ითExcel: ზუსტი და ნაწილობრივი შესატყვისების ჩათვლით

2. გამოიყენეთ Find ფუნქცია VBA-ში შემდეგ პარამეტრით (ძიების დასაწყებად კონკრეტული უჯრედიდან)

შეგიძლიათ გამოიყენოთ After პარამეტრი Find ფუნქციით VBA -ში. შემდეგ ის დაიწყებს მნიშვნელობის ძიებას უჯრედის ქვემოდან დიაპაზონში.

მაგალითად, დავიწყოთ სახელის ძებნა „P. B. Shelly” უჯრედის ქვემოთ C6 .

კოდის ხაზი იქნება:

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

და სრული VBA კოდი იქნება:

VBA კოდი:

4421

გამომავალი:

ის დაბრუნდება $C$13 რადგან ის იწყებს ძიებას უჯრედის ქვემოთ C6 , ეს არის უჯრედიდან C7 . ასე რომ, ის იღებს P. B. Shelly უჯრედში C13 ჯერ.

დაწვრილებით: როგორ მოვძებნოთ სტრიქონი უჯრედი VBA-ის გამოყენებით Excel-ში

3. გაუშვით Find ფუნქცია VBA-ში შემდეგ პარამეტრის გარშემო შემოხვევით (მნიშვნელობის წრიული გზით მოსაძებნად)

After პარამეტრი Find ფუნქციით ეძებს მნიშვნელობას წრიული გზით

ანუ ის იწყებს ძიებას დიაპაზონში არსებული უჯრედის ქვემოდან, ამთავრებს ძიებას დიაპაზონში და შემდეგ ისევ იწყებს დიაპაზონის ზემოდან.

მაგალითად, დავიწყოთ სახელის ძებნა “ჯონ კიტსი” უჯრედის ქვემოთ C8 პარამეტრის After გამოყენებით.

ხაზი კოდი იქნება:

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

დასრული VBA კოდი იქნება:

VBA კოდი:

2281

გამომავალი:

ის დააბრუნებს $C$7 რადგან ის იწყებს ძიებას უჯრედის ქვემოთ C8 , ეს არის უჯრედი C9 .

ის ვერ პოულობს ვერაფერს უჯრედამდე C13 , ამიტომ ისევ იწყება C4 უჯრედიდან და პოულობს ერთს უჯრედში C7 .

მსგავსი წაკითხვები:

  • როგორ მოვძებნოთ სტრიქონი VBA-ით Excel-ში (8 მაგალითი)
  • იპოვეთ ზუსტი შესატყვისი VBA-ს გამოყენებით Excel-ში (5 გზა)
  • როგორ მოვძებნოთ და შეცვალოთ VBA-ს გამოყენებით (11 გზები)

4. გამოიყენეთ Find ფუნქცია VBA-ში LookAt პარამეტრით (ზუსტი ან ნაწილობრივი შესატყვისისთვის)

შეგიძლიათ გამოიყენოთ Find ფუნქცია VBA -ში LookAt პარამეტრი.

გამოიყენეთ LookAt = xlWhole ზუსტი შესაბამისად და LookAt=xlPart ნაწილობრივი ემთხვევა.

მაგალითად, შევეცადოთ გავარკვიოთ არის თუ არა რაიმე წიგნი სახელწოდებით „ოდა“ წიგნის სახელი სვეტაში ( B4:B13 ).

თუ კოდის ხაზში გამოვიყენებთ xlWhole :

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

გამომავალი აჩვენებს შეცდომას, რადგან ის ვერ იპოვის ზუსტ შესატყვისს.

მაგრამ თუ იყენებთ:

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

შემდეგ ის დაბრუნდება $B$9 , რადგან მასში არის წიგნი სახელწოდებით „ოდა“ უჯრედში B7 , ოდა ბულბულისადმი.

ასე რომ, სრული კოდი ნაწილობრივი შესატყვისისთვისარის:

VBA კოდი:

9450

5. მართეთ Find ფუნქცია VBA-ში SearchDirection პარამეტრით (ძიების მიმართულების დასაზუსტებლად)

ასევე შეგიძლიათ გამოიყენოთ Find ფუნქცია VBA -ში SearchDirection პარამეტრი.

გამოიყენეთ SearchDirection = xlNext ზემოდან ქვემოდან ძიებისთვის.

და SearchDirection = xlწინა ქვემოდან ზევით საძიებლად.

მაგალითად, ვცადოთ ვიპოვოთ ავტორი Elif Shafak სვეტში Author ( 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 კოდი:

3893

6. იპოვნეთ ფუნქცია VBA-ში MatchCase პარამეტრით (Rese-sensitive ან insensitive Match)

და ბოლოს, შეგიძლიათ გამოიყენოთ Find ფუნქცია MatchCase პარამეტრით.

გამოიყენეთ MatchCase = True შემთხვევისთვის მგრძნობიარე შემთხვევისთვის , და MatchCase=False -ისთვის რეგისტრირებული შემთხვევა.

მაგალითად, ვცადოთ ვიპოვოთ წიგნი „დედა“ წიგნის სახელი სვეტში ( 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 კოდი:

9303

დასკვნა

ამ მეთოდების გამოყენებით შეგიძლიათ გამოიყენოთ Find ფუნქცია Visual Basic აპლიკაციაში. გაქვთ რაიმე შეკითხვები? მოგერიდებათ გვკითხოთ.

ჰიუ ვესტი არის Excel-ის ძალიან გამოცდილი ტრენერი და ანალიტიკოსი, რომელსაც აქვს 10 წელზე მეტი გამოცდილება ინდუსტრიაში. მას აქვს ბაკალავრის ხარისხი ბუღალტერიასა და ფინანსებში და მაგისტრის ხარისხი ბიზნესის ადმინისტრირებაში. ჰიუს აქვს სწავლების გატაცება და შეიმუშავა სწავლების უნიკალური მიდგომა, რომელიც ადვილად გასაგები და გასაგებია. მისი ექსპერტი Excel-ის ცოდნა დაეხმარა ათასობით სტუდენტს და პროფესიონალს მთელს მსოფლიოში, გაეუმჯობესებინათ თავიანთი უნარები და გამოირჩეოდნენ თავიანთ კარიერაში. თავისი ბლოგის საშუალებით, ჰიუ უზიარებს თავის ცოდნას მსოფლიოს, სთავაზობს უფასო Excel გაკვეთილებს და ონლაინ ტრენინგებს, რათა დაეხმაროს ინდივიდებსა და ბიზნესს თავიანთი პოტენციალის სრულად მიღწევაში.