Სარჩევი
ერთ-ერთი ყველაზე მნიშვნელოვანი და ფართოდ გამოყენებული ფუნქცია, რომელსაც ვიყენებთ 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 აპლიკაციაში. გაქვთ რაიმე შეკითხვები? მოგერიდებათ გვკითხოთ.