როგორ მოვძებნოთ სტრიქონი VBA-ით Excel-ში (8 მაგალითი)

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

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

ჩამოტვირთეთ პრაქტიკის შაბლონი

თქვენ შეგიძლიათ ჩამოტვირთოთ Excel-ის უფასო პრაქტიკის შაბლონი აქედან.

VBA ძიებაში String.xlsm

InStr ფუნქცია

Microsoft Excel-ს აქვს ჩაშენებული ფუნქცია, რომელსაც ეწოდება InStr ფუნქცია , რათა იპოვოთ კონკრეტული სტრიქონების პოზიცია მოცემულ სტრიქონში.

ზოგადი სინტაქსი:

InStr([start], string1, string2, [compare])

აქ,

არგუმენტები საჭირო/სურვილისამებრ განმარტება
დაწყება სურვილისამებრ ძიების საწყისი პოზიცია.
  • ნაგულისხმევად, InStr ფუნქცია ითვლის სიმბოლოების პოზიციას 1-დან და არა საწყისი პოზიციიდან დათვლით. ასე რომ, თუ გსურთ, შეგიძლიათ დატოვოთ ეს ცარიელი.
string1 საჭიროა საძიებელი სტრიქონი, ძირითადი სტრიქონი.
string2 საჭიროა სტრიქონი პირველად სტრიქონში მოსაძებნად .
შედარება არასავალდებულო InStr ფუნქცია ნაგულისხმევად მგრძნობიარეა ასოების მიმართ. მაგრამ თუ გსურთ გაუშვათ შეუსაბამოდ InStr , მაშინ შეგიძლიათ არგუმენტის გადატანა აქ გარკვეული შედარების შესასრულებლად. ეს არგუმენტი შეიძლება იყოს შემდეგიმნიშვნელობები,
  • vbBinaryCompare -> ასრულებს ორობით შედარებას, დააბრუნებს მნიშვნელობას 0
  • vbTextCompare -> ასრულებს ტექსტის შედარებას, დააბრუნებს მნიშვნელობას 1
  • vbDatabaseCompare -> ასრულებს მონაცემთა ბაზის შედარებას, აბრუნებს მნიშვნელობას 2

ნაგულისხმევად, InStr იღებს vbBinaryCompare შედარების არგუმენტად.

8 მარტივი მაგალითი მოცემულ სტრიქონში VBA-ს გამოყენებით კონკრეტული სტრიქონის პოზიციის მოსაძებნად

ვნახოთ რამდენიმე მარტივი მაგალითი მოცემულ სტრიქონში გარკვეული სტრიქონების პოზიციების მისაღებად. VBA .

1. VBA ტექსტის პოზიციის მოსაძებნად სტრიქონში

ქვემოთ მოცემულია InStr -ის მაგალითი, რომ იპოვოთ ტექსტის პოზიცია სტრიქონში.

  • დააჭირეთ Alt + F11 თქვენს კლავიატურაზე ან გადადით ჩანართზე დეველოპერი -> Visual Basic გასახსნელად Visual Basic Editor .

  • pop-up კოდის ფანჯარაში, მენიუს ზოლიდან , დააწკაპუნეთ ჩასმა -> მოდული .

  • ახლა კოდის ფანჯარაში ჩაწერეთ მარტივი InStr პროგრამა VBA Sub-ში პროცედურა (იხილეთ ქვემოთ).
2832

თქვენი კოდი მზად არის გასაშვებად.

  • დააჭირეთ F5 თქვენს კლავიატურაზე ან მენიუს ზოლიდან აირჩიეთ გაშვება -> გაუშვით Sub/UserForm . თქვენ ასევე შეგიძლიათ უბრალოდ დააწკაპუნოთ პატარა Play ხატულაზე ქვემენიუ ზოლში მაკროს გასაშვებად.

თქვენ ნახავთ, რომ ამომხტარი შეტყობინების ფანჯარა მოგცემთ ნომერსგამოაცხადეთ ტექსტის პოზიცია , რომლის შემოწმებაც გინდოდათ.

ახსნა:

ჩვენი ძირითადი სტრიქონი, „ ბედნიერება არის არჩევანი “ არის 21 ასო წინადადება (ფართებით) და გვინდოდა ამ სტრიქონში გვეპოვა ტექსტის „ არჩევა “ პოზიცია. ტექსტი „ არჩევა “ იწყებოდა პირველადი სტრიქონის მე-16 პოზიციიდან, ამიტომ მივიღეთ ნომერი 16 , როგორც გამომავალი შეტყობინების ყუთში.

2. VBA ტექსტის მოსაძებნად კონკრეტული პოზიციიდან სტრიქონში

ახლა გავარკვიოთ რა მოხდებოდა, თუ გვინდოდა პოზიციის მიღება გარკვეული რიცხვიდან.

  • იგივე როგორც მანამდე გახსენით Visual Basic Editor Developer ჩანართიდან და Insert a Module კოდის ფანჯარაში.
  • ში კოდის ფანჯარაში, დაწერეთ მარტივი InStr პროგრამა, რომელიც ნაჩვენებია ზემოთ და გადაიტანეთ მნიშვნელობა დაწყების არგუმენტში იმ პოზიციის მიხედვით, საიდანაც გსურთ თქვენი ტექსტის დათვლა.
7141

  • შემდეგ, გაუშვით კოდი.

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

ახსნა:

როგორც უკვე ვიცოდით (1 ფაზის დისკუსიიდან), რომ ტექსტი „ არჩევანი “ იწყებოდა 16 პოზიციიდან, ამიტომ ჩავსვით ორი „ არჩევა “ ძირითად სტრიქონში და დააყენეთ 17 როგორც ჩვენიპირველი პარამეტრი პირველი „ არჩევანი “-ის გამოტოვებისთვის. ასე რომ, ჩვენ გავატარეთ ზემოთ მოცემული მაკრო და მან გვიჩვენა პოზიციის ნომერი 27 , რომელიც არის ზუსტად მეორე არჩევანი “ პოზიციის ნომერი. მოცემულ სტრიქონში.

3. VBA სტრიქონში რეგისტრირებული InStr ფუნქციის მქონე ტექსტის მოსაძებნად

InStr ფუნქციის შემოღებიდან თქვენ უკვე იცით, რომ ნაგულისხმევად, InStr ფუნქცია არის რეგისტრის მგრძნობიარე. მოდით გავარკვიოთ ეს მაგალითით.

იხილეთ შემდეგი VBA კოდი, სადაც გვინდოდა გვეპოვა სიტყვა „ არჩევანი “ ” დიდი "C" სტრიქონში " ბედნიერება არჩევანია ", სადაც არჩევანი იწერება პატარა "c" .

  • გაუშვით კოდი და იპოვნეთ 0 როგორც გამომავალი.

ეს იმიტომ, რომ InStr ფუნქცია განსხვავებულად განიხილავს დიდი "C" და პატარა "c" . ასე რომ, მან მოძებნა სიტყვა „ არჩევანი “ სტრიქონში და ვერ მიიღო რაიმე შესატყვისი, ამიტომ დაბრუნდა 0 .

  • იმისთვის, რომ InStr ფუნქციის შემთხვევისთვის მგრძნობიარე გახდეს, შედარების არგუმენტი დააყენეთ vbTextCompare (იხ. ქვემოთ).
8870

  • გაუშვით კოდი.

თქვენ მიიღებთ ტექსტის პოზიციას სტრიქონიდან, იქნება ეს ტექსტი დაწერილი დიდი ან პატარა ასოებით .

4. VBA ტექსტის საპოვნელად სტრიქონის მარჯვნივ

აქამდე InStr ფუნქცია გვაძლევდა პოზიციას მხოლოდ სტრიქონის მარცხენა მხრიდან. მაგრამ რა მოხდება, თუ გსურთ იპოვოთ ტექსტის პოზიცია სტრიქონის მარჯვენა მხრიდან.

InStrRev ფუნქცია ეძებს მარჯვნივ. ფუნქცია InStrRev ძალიან ჰგავს InStr ფუნქციას და ის გიპოვით ტექსტის პოზიციას სტრიქონის მარჯვენა მხრიდან .

განსხვავების გასაგებად იხილეთ შემდეგი მაგალითები.

  • თუ ჩვენ გავრთავთ შემდეგ კოდს InStr ფუნქციით, მაშინ,

ის გვაძლევს პოზიციას ( 16 ) პირველი ტექსტის " არჩევანი ".

  • მაგრამ თუ იგივე კოდს გავუშვით InStrRev ფუნქციით, მაშინ,

ის გვაძლევს პოზიციას ( 27 ) ბოლო ტექსტის „ არჩევანი “.

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

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

5. VBA სიმბოლოს პოზიციის მოსაძებნად სტრიქონში

ასევე შეგიძლიათ იპოვოთ გარკვეული სიმბოლოს პოზიცია სტრიქონში ისე, როგორც იპოვეთ ტექსტი.

  • დააკოპირეთ შემდეგი კოდი თქვენს VBA კოდის ფანჯარაში
4449

  • და გაუშვით მაკრო.

პირველი „ e “ ჩვენს მოცემულ სტრიქონში არისნომერი 7 პოზიცია.

6. VBA სტრიქონში ქვესტრიქონის საპოვნელად

აქ ჩვენ ვისწავლით, თუ როგორ უნდა გავიგოთ, შეიცავს თუ არა სტრიქონი ქვესტრიქონს თუ არა.

ამის მისაღებად, ჩვენ გვაქვს ჩვენს კოდში IF განცხადების გასაშვებად.

  • ისევე როგორც ადრე, გახსენით Visual Basic Editor Developer ჩანართიდან და ჩასვით მოდული კოდის ფანჯარაში.
  • კოდის ფანჯარაში დააკოპირეთ შემდეგი კოდი და ჩასვით.
4426

თქვენი კოდი ახლა მზად არის გასაშვებად.

  • გაუშვით მაკრო.

თუ თქვენი სტრიქონი შეიცავს ქვესტრინგს მაშინ თქვენ მიიღებთ იპოვეს შესატყვისს , წინააღმდეგ შემთხვევაში, ის დააბრუნებს არცერთს. ჩვენს მაგალითში გვინდოდა გაგვერკვია, შეიცავს თუ არა ჩვენი ძირითადი სტრიქონი „ ბედნიერება არჩევანია “ შეიცავს სიტყვას „ არჩევანი “ ან არა. როგორც ეს ხდება, ჩვენ ვიღებთ ნაპოვნი მატჩი შედეგს.

7. VBA სტრიქონის საპოვნელად უჯრედის დიაპაზონში

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

იხილეთ შემდეგი მაგალითი, სადაც ჩვენ იპოვნეთ „ დოქტორი “ და როცა დამთხვევა იქნება, ის დაბრუნდება „ ექიმი “.

  • ქვემოთ არის კოდი ზემოთ განხილული შედეგის მისაღებად,
1966

  • გაუშვით კოდი და შედეგი ნაჩვენებია ქვემოთ

  • თქვენ შეგიძლიათ შეცვალოთ მაკრო თქვენი საჭიროების მიხედვით. მაგალითად, თუ გინდაიპოვონ „ პროფესორი “ სტრიქონის ნებისმიერ უჯრედში და მიიღოთ „ პროფესორი “ როგორც დაბრუნების, შემდეგ უბრალოდ გადასცეს „ პროფ. “, როგორც მნიშვნელობა „ Dr “-ის ნაცვლად. მაკროს მე-4 სტრიქონში და მაკროს მე-5 სტრიქონში „ პროფესორი “ ნაცვლად „ დოქტორი “ და განსაზღვრეთ უჯრედების დიაპაზონის ნომერი შესაბამისად.

8. VBA უჯრაში სტრიქონის საპოვნელად

ასევე შეგიძლიათ მოძებნოთ გარკვეული ტექსტი სტრიქონის ერთ უჯრედში და დააბრუნოთ გარკვეული სტრიქონი.

  • დააკოპირეთ შემდეგი კოდი და ჩასვით კოდის ფანჯარაში.
5820

ის მოძებნის „ Dr. უჯრედში B5 და თუ იპოვის შესატყვისს, მაშინ აბრუნებს „ ექიმი უჯრედში C5 .

  • თქვენ შეგიძლიათ შეცვალოთ მაკრო თქვენი საჭიროების მიხედვით. მაგალითად, თუ გსურთ იპოვოთ „ პროფ. “ სტრიქონის ნებისმიერ უჯრედში და მიიღოთ „ პროფესორი “, როგორც დაბრუნება, შემდეგ უბრალოდ გადაიტანეთ „ Prof. “ მნიშვნელობის ნაცვლად „ Dr “. მაკროს მე-2 სტრიქონში და მაკროს მე-3 სტრიქონში „ პროფესორი “ ნაცვლად „ დოქტორი “ და განსაზღვრეთ უჯრედის მითითების ნომერი შესაბამისად.

დასკვნა

ეს სტატია გასწავლით, თუ როგორ უნდა იპოვოთ გარკვეული ტექსტები სტრიქონში Excel-ში VBA მაკროს გამოყენებით. იმედი მაქვს, რომ ეს სტატია თქვენთვის ძალიან სასარგებლო იყო. თავისუფლად დაუსვით ნებისმიერი შეკითხვათემა.

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