Excel VBA: თუ უჯრედი შეიცავს მნიშვნელობას, მაშინ დააბრუნეთ მითითებული გამომავალი

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

Სარჩევი

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

Excel VBA ანალიზი: თუ უჯრედი შეიცავს მნიშვნელობას, მაშინ (სწრაფი ნახვა)

4058

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

ჩამოტვირთეთ ეს სავარჯიშო წიგნაკი, რომ ივარჯიშოთ ამ სტატიის კითხვის დროს.

VBA თუ უჯრედი შეიცავს მნიშვნელობას მაშინ.xlsm

Excel VBA ანალიზი: თუ უჯრედი შეიცავს მნიშვნელობას, მაშინ დააბრუნეთ შედეგები (ნაბიჯ-ნაბიჯ ანალიზი)

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

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

⧪ ნაბიჯი 1: უჯრედის გამოცხადება

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

ამიტომ, ჩვენ უნდა შევამოწმოთ უჯრედი C12 შეიცავს თუ არა მნიშვნელობას.

ამისთვის, პირველ რიგში, ჩვენ უნდა გამოვაცხადოთ უჯრედი C12 .

კოდის ხაზი ამის შესასრულებლად იქნება:

7002

⧪ ნაბიჯი 2: შემოწმება შეიცავს თუ არა უჯრედს მნიშვნელობა (განსაკუთრებული მნიშვნელობის ჩათვლით)

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

6144

ეს კოდი შესრულდება, თუ უჯრედი შეიცავს რაიმე მნიშვნელობას. მნიშვნელობის შესამოწმებლად (მაგალითად, შეიცავს თუ არა 100-ს), გამოიყენეთ ეს კონკრეტული მნიშვნელობა ტოლია სიმბოლოთი.

2471

⧪ ნაბიჯი 3: დავალების განაწილება

შემდეგ თქვენ უნდა დააყენოთ დავალება, რომელიც შესრულდება, თუ უჯრედი შეიცავს მნიშვნელობას (ან კონკრეტულ მნიშვნელობას).

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

8970

⧪ ნაბიჯი 4: If Block-ის დასრულება

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

6049

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

⧭ VBA კოდი:

2061

⧭ გამომავალი:

გაუშვით ეს კოდი ხელსაწყოთა ზოლზე Run Sub/UserForm ღილაკზე დაწკაპუნებით.

<. 0>ეს გამოჩნდება შეტყობინება "ჯენიფერ მარლო გამოჩნდა ფიზიკის გამოცდაზე." რადგან უჯრედი C12 შეიცავს 50 მნიშვნელობას.

მაგალითები, რომლებიც მოიცავს, თუ უჯრედი შეიცავს მნიშვნელობას, შემდეგ განსაზღვრულ გამომავალს Excel VBA-ით

ჩვენ ვისწავლეთ ანალიზი, შეიცავს თუ არა უჯრედი მნიშვნელობას ან არა VBA -ში. ახლა მოდით გამოვიკვლიოთ რამდენიმე მაგალითი, რათა გასაგები გახდეს.

1. მაკროს შემუშავება მნიშვნელობის გასაფილტრად, თუ შესაბამისი უჯრედი შეიცავს რაიმე მნიშვნელობას, მაშინ Excel-ში VBA

მოდით, განვავითაროთ მაკრო თითოეულ გამოცდაზე გამოჩენილი სტუდენტების გასაფილტრად.

ანუ, ჩვენ უნდა შევამოწმოთ უჯრედები, რომლებიც შეიცავს თითოეული საგნის ნიშნებს და ვნახოთ, შეიცავს თუ არა მნიშვნელობას. თუ არა.

თუ გააკეთებენ, მაშინ ჩვენ უნდა დავახარისხოთ შესაბამისი მოსწავლის სახელი.

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

⧭ VBA კოდი:

7959

⧭ გამომავალი:

აირჩიეთ მონაცემთა ნაკრები ( მათ შორის Headers ) და გაუშვით ეს Macro .

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

შემდეგ დააჭირეთ OK . თქვენ მიიღებთ იმ სტუდენტების სახელებს, რომლებიც გამოჩნდნენ თითოეულ გამოცდაზე ( სათაურების ჩათვლით) მონაცემთა ახალ ნაკრებში, დაწყებული უჯრედიდან G3 .

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

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

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

თუ ასეა, მაშინ დავაბრუნებთ შესაბამისი მოსწავლის სახელს.

VBA კოდი იქნება:

⧭ VBAკოდი:

6791

⧭ გამომავალი:

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

მოდით, გავარკვიოთ მოსწავლეები, რომლებმაც მიიღეს 100 თითოეულ საგანში ამ ფუნქციის გამოყენებით.

აირჩიეთ უჯრედების დიაპაზონი თქვენს სამუშაო ფურცელში და შეიყვანეთ ეს ფუნქცია დიაპაზონის პირველ უჯრედში:

=Cells_with_Values(B3:E13,100)

[აქ B3: E3 არის ჩემი მონაცემთა ნაკრები ( Headers -ის ჩათვლით) და 100 არის ჩემი შესატყვისი მნიშვნელობა. თქვენ იყენებთ თქვენს ერთს.]

შემდეგ დააჭირეთ CTRL + SHIFT + ENTER ( Array Formula ). ის დააბრუნებს მასივს, რომელიც შედგება იმ სტუდენტების სახელებისგან, რომლებმაც მიიღეს 100 თითოეულ საგანში, მათ შორის Headers .

3. მომხმარებლის ფორმის შემუშავება მნიშვნელობის ამოსაღებად, თუ შესაბამისი უჯრედი შეიცავს რაიმე მნიშვნელობას (ან სპეციფიკურ მნიშვნელობას) Excel VBA-ში

საბოლოოდ, ჩვენ განვავითარებთ UserForm ამონაწერს სტუდენტების სახელები, რომლებიც გამოჩნდნენ (ან მიიღეს კონკრეტული ნიშნები) ზოგიერთ კონკრეტულ გამოცდაზე.

⧪ ნაბიჯი 1: გახსნა UserForm

გადადით Insert > UserForm ვარიანტი VBA რედაქტორში ახალი UserForm გასახსნელად. გაიხსნება ახალი UserForm სახელწოდებით UserForm1 .

⧪ ნაბიჯი 2: ინსტრუმენტების გადატანა UserForm-ში

გარდა UserForm , თქვენ მიიღებთ Toolbox . გადაიტანეთ თქვენი კურსორი ინსტრუმენტების ყუთზე და გადაიტანეთ 4 ლეიბლი (Label1, Label2,Label3, Label4) და 3 ListBox (ListBox1, ListBox2, ListBox3) და TextBox (TextBox1) მართკუთხა ფორმის UserForm .

შემდეგ გადაიტანეთ სხვა Label (Label5) და TextBox (TextBox2) UserForm -ის ქვედა მარცხენა კუთხეში.

საბოლოოდ, გადაიტანეთ CommandButton (CommandButton1) ქვედა მარჯვენა კუთხეში.

შეცვალეთ Labels -ის ჩვენება Lookup Column , დაბრუნების სვეტი , ნებისმიერი მნიშვნელობა ან კონკრეტული მნიშვნელობა , მნიშვნელობა, და საწყისი უჯრედი.

ასევე, შეცვალეთ CommandButton1 ჩვენება OK .

⧪ ნაბიჯი 3: კოდის დაწერა ListBox3-ისთვის

ორჯერ დააწკაპუნეთ ListBox3 . გაიხსნება პირადი ქვეპროცედურა სახელწოდებით ListBox3_Click . შეიყვანეთ იქ შემდეგი კოდი.

7945

⧪ ნაბიჯი 4: ჩაწერეთ კოდი CommandButton1-ისთვის

შემდეგ ორჯერ დააწკაპუნეთ CommandButton1-ზე . გაიხსნება კიდევ ერთი პირადი ქვეპროცედურა სახელწოდებით CommandButton1_Click . შეიყვანეთ იქ შემდეგი კოდი.

5461

⧪ ნაბიჯი 5: კოდის დაწერა UserForm-ის გასაშვებად

და ბოლოს, ჩადეთ ახალი მოდული -დან 1>VBA ხელსაწყოთა პანელი და ჩადეთ შემდეგი კოდი იქ.

3642

⧪ ნაბიჯი 6: გაშვება UserForm (საბოლოო გამომავალი)

თქვენი UserForm ახლა მზად არის გამოსაყენებლად. აირჩიეთ მონაცემთა ნაკრები სამუშაო ფურცლიდან ( B3:E13 აქ) ( Headers -ის ჩათვლით) დაგაუშვით მაკრო სახელწოდებით Run_UserForm .

UserForm ჩაიტვირთება სამუშაო ფურცელში. Lookup Column ცხრილიდან მე ავირჩიე ფიზიკა და მათემატიკა , რადგან მსურს მივიღო სტუდენტების სახელები, რომლებიც გამოჩნდნენ ფიზიკა და მათემატიკის გამოცდები.

დაბრუნების სვეტი ცხრილიდან ავირჩიე მოსწავლის სახელი , რადგან მსურს მივიღო მოსწავლეთა სახელები.

და ნებისმიერი მნიშვნელობის ან სპეციფიკური მნიშვნელობის ცხრილიდან მე ავირჩიე ნებისმიერი მნიშვნელობა .

ბოლოს, საწყის უჯრედში ველი, მე დავაყენე G3 .

შემდეგ დააჭირეთ OK . თქვენ მიიღებთ იმ სტუდენტების სახელებს, რომლებიც გამოვიდნენ ფიზიკის და მათემატიკის გამოცდებში დაწყებული უჯრედიდან G3 .

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

აქ მე შევიყვანე 100 .

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

დამახსოვრების საკითხები

ჩვენ გამოვიყენეთ ორგანზომილებიანი მასივი, რათა დავაბრუნოთ სტუდენტების სახელები მომხმარებლის მიერ განსაზღვრულ ფუნქციაში აღწერილ მაგალითში 2 .<3

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