Excel VBA: Əgər Hüceyrədə Dəyər Varsa, Müəyyən edilmiş Çıxışı qaytarın

  • Bunu Paylaş
Hugh West

Bu məqalədə mən sizə Excel-də vəziyyəti necə təhlil edə biləcəyinizi göstərəcəyəm VBA əgər hüceyrədə dəyər varsa. Siz həm istənilən dəyər, həm də xüsusi dəyər üçün vəziyyəti təhlil etməyi öyrənəcəksiniz.

Excel VBA Analizi: Əgər Hüceyrədə Dəyər Varsa, onda (Tez Baxış)

6982

Təcrübə İş Kitabını endirin

Bu məqaləni oxuyarkən məşq etmək üçün bu məşq kitabını endirin.

VBA Əgər Hüceyrə Dəyəri Olsa.xlsm

Excel VBA Analizi: Hüceyrədə Dəyər Varsa, Nəticələri Qaytarın (Addım-Addım Analiz)

Burada biz Fizika, Kimya, və Günəbaxan Uşaq Bağçası adlı məktəbdə Riyaziyyat.

Boş xanalar şagirdin görünmədiyini, yəni həmin imtahanda iştirak etmədiyini bildirir. İndi gəlin bu verilənlər toplusu ilə xananın dəyərinin olub-olmaması vəziyyətini təhlil edək.

⧪ Addım 1: Hüceyrənin elan edilməsi

İlk olaraq biz dəyərini təhlil etmək istədiyimiz xananı elan edin. Gəlin, Cennifer Marlonun Fizika imtahanında iştirak edib-etmədiyini təhlil edək.

Ona görə də C12 xanasında dəyər olub-olmadığını yoxlamaq lazımdır.

Bunu etmək üçün, əvvəlcə C12 xanasını elan etməliyik.

Bunu yerinə yetirmək üçün kod xətti belə olacaq:

2835

⧪ 2-ci addım: Hüceyrənin tərkibində olub-olmadığını yoxlamaq Dəyər (Xüsusi Dəyər daxil olmaqla)

Sonra biz yoxlamalıyıqxanada bir dəyər var ya yox. Bunu Əgər şərt istifadə edərək yerinə yetirəcəyik. Kod sətri aşağıdakı kimi olacaq:

4038

Xanada hər hansı bir dəyər varsa, bu kod icra ediləcək. Dəyəri yoxlamaq üçün (Məsələn, 100-dən ibarət olub-olmaması), həmin xüsusi dəyəri Bərabər simvolu ilə istifadə edin.

4078

⧪ Addım 3: Tapşırığın ayrılması

Sonra siz xanada dəyər (və ya xüsusi dəyər) varsa yerinə yetiriləcək tapşırığı qurmalısınız.

Burada mesajı göstərmək istəyirik. “Cennifer Marlo Fizika imtahanında göründü.” . Beləliklə, kod xətti belə olacaq:

8127

⧪ 4-cü Addım: If Blokunun Sonu

Nəhayət, If blokunun sonunu elan etməlisiniz.

5202

Beləliklə, tam VBA kodu belə olacaq:

⧭ VBA Kodu:

6302

⧭ Nəticə:

Alətlər panelində Ab/UserForm-u işlət düyməsini klikləməklə bu kodu işə salın.

O, “Cennifer Marlo Fizika imtahanında göründü” mesajını göstərəcək. , çünki C12 xanası 50 dəyərini ehtiva edir.

Xüceyrənin bir dəyər, sonra isə Excel VBA ilə müəyyən edilmiş çıxışı ehtiva edən nümunələr

Biz hüceyrənin dəyər və ya dəyər ehtiva etdiyini təhlil etməyi öyrəndik. VBA -də deyil. İndi başa düşmək üçün bəzi nümunələri araşdıraq.

1. Dəyəri süzmək üçün makronun hazırlanması Müvafiq xanada hər hansı bir dəyər varsa, Excel VBA-da

Gəlin Makro imtahanların hər birində iştirak edən tələbələri süzgəcdən keçirmək üçün.

Yəni, biz hər bir fənn üzrə qiymətləri olan xanaları yoxlamalı və onların dəyərinin olub-olmadığını görməliyik. yoxsa yox.

Əgər onlar varsa, onda biz müvafiq tələbənin adını çeşidləməliyik.

Bunu yerinə yetirmək üçün tam VBA kodu:

⧭ VBA Kodu:

7489

⧭ Nəticə:

Məlumat dəstini seçin ( Başlıqlar daxil olmaqla) və bu Makro -ni işə salın.

İlk olaraq sizdən birincinin istinadını daxil etməyiniz xahiş olunacaq. süzülmüş məlumatı istədiyiniz xana. Mən G3 -ə daxil oldum.

Sonra OK klikləyin. Siz imtahanların hər birində ( Başlıqlar daxil olmaqla) çıxan tələbələrin adlarını G3 xanasından başlayaraq yeni məlumat dəstində alacaqsınız.

2. Dəyəri çeşidləmək üçün istifadəçi tərəfindən müəyyən edilmiş funksiyanın yaradılması Müvafiq xanada xüsusi bir dəyər varsa, Excel VBA-da

İndi biz tələbələrin adlarını qaytaracaq istifadəçi tərəfindən müəyyən edilmiş funksiya yaradacağıq. fənlərin hər birindən xüsusi qiymət alanlar.

Prosedur yuxarıda göstərilənlərlə demək olar ki, eynidir. Biz subyektlərin hər birinin işarələrini ehtiva edən xanaları yoxlamalı və onların müəyyən bir dəyərə bərabər olub-olmadığını yoxlamalıyıq.

Əgər onlar varsa, biz müvafiq tələbənin adını qaytaracağıq.

VBA kodu belə olacaq:

⧭ VBAKod:

9681

⧭ Nəticə:

Kod Dəyərli_xanalar adlı funksiya yaradır ki, Range Dəyər adlı iki arqument götürür.

Gəlin bu funksiyadan istifadə edərək hər bir fənndən 100 bal alan tələbələri tapaq.

İş vərəqinizdə bir sıra xanalar seçin və bu funksiyanı diapazonun ilk xanasına daxil edin:

=Cells_with_Values(B3:E13,100)

[Burada B3: E3 mənim məlumat dəstimdir ( Başlıqlar daxil olmaqla) və 100 mənim uyğun dəyərimdir. Siz özünüzdən istifadə edirsiniz.]

Sonra CTRL + SHIFT + ENTER ( Array Formula ) düymələrini basın. O, Başlıqlar daxil olmaqla, hər bir fənn üzrə 100 bal toplayan tələbələrin adlarından ibarət massivi qaytaracaq.

3. Müvafiq xana Excel VBA-da hər hansı bir dəyər (və ya xüsusi dəyər) ehtiva edirsə, dəyəri çıxarmaq üçün İstifadəçi Formasının hazırlanması

Nəhayət, biz faylı çıxarmaq üçün UserForm hazırlayacağıq. bəzi xüsusi imtahanlarda iştirak edən (və ya xüsusi qiymət alan) tələbələrin adları.

⧪ Addım 1: İstifadəçi Formunun açılması

Daxil et > Yeni UserForm açmaq üçün VBA redaktorunda UserForm seçimi. UserForm1 adlı yeni UserForm açılacaq.

⧪ Addım 2: Alətlərin UserForm-a sürüklənməsi

UserForm ilə yanaşı, siz Alətlər qutusu əldə edəcəksiniz. Kursorunuzu Alətlər qutusu üzərinə aparın və 4 Etiket (Label1, Label2,Label3, Label4) 3 ListBox (ListBox1, ListBox2, ListBox3) UserForm üzərində düzbucaqlı formada olan TextBox (TextBox1) .

Sonra başqa Label (Label5) TextBox (TextBox2) -ni UserForm -in aşağı sol küncünə dartın.

Nəhayət, CommandButton (CommandButton1) -ni sağ alt küncə sürükləyin.

Etiketlərin displeylərini Axtarış Sütunu olaraq dəyişin, Qayıt Sütun , İstənilən Dəyər və ya Xüsusi Dəyər , Dəyər, Başlanğıc Xana.

Həmçinin, CommandButton1 ekranını OK olaraq dəyişin.

⧪ Addım 3: ListBox3 üçün kodun yazılması

ListBox3 üzərinə iki dəfə klikləyin. ListBox3_Click adlı Özəl Altprosedur açılacaq. Orada aşağıdakı kodu daxil edin.

4836

⧪ Addım 4: CommandButton1 üçün kodun yazılması

Sonra CommandButton1 üzərinə iki dəfə klikləyin . CommandButton1_Click adlı başqa bir Özəl Altprosedur açılacaq. Orada aşağıdakı kodu daxil edin.

7027

⧪ 5-ci addım: UserForm-u işə salmaq üçün kodun yazılması

Nəhayət, <-dən yeni Modul daxil edin. 1>VBA alətlər paneli və ora aşağıdakı kodu daxil edin.

6649

⧪ Addım 6: UserForm-un işə salınması (Son Nəticə)

Sizin UserForm indi istifadəyə hazırdır. İş vərəqindən verilənlər dəstini seçin ( B3:E13 burada) ( Başlıqlar daxil olmaqla) və Run_UserForm adlı Makro -ni işə salın.

UserForm iş vərəqinə yüklənəcək. Axtarış Sütunu cədvəlindən mən Fizika Riyaziyyat seçdim, çünki Fizika -da görünən tələbə adlarını almaq istəyirəm. və Riyaziyyat imtahanları.

Qayda Sütun cədvəlindən mən Tələbə Adı seçdim, çünki tələbə adlarını almaq istəyirəm.

Hər hansı bir dəyər və ya xüsusi dəyər cədvəlindən mən İstənilən dəyər seçdim.

Nəhayət, Başlanğıc xanasında qutusuna, mən G3 qoydum.

Sonra OK klikləyin. Siz G3 xanasından başlayaraq Fizika Riyaziyyat imtahanlarında iştirak edən tələbələrin adlarını alacaqsınız.

Əgər siz Hər hansı Dəyər və ya Xüsusi Dəyər cədvəlindən Xüsusi Dəyər seçmiş olsanız, xüsusi dəyəri daxil etmək üçün başqa Mətn Qutusu əldə edəcəksiniz.

Buraya 100 daxil etdim.

OK düyməsini basın. Siz Fizika Kimya fənlərindən 100 alan tələbələri alacaqsınız.

Yadda saxlanacaq şeylər

Biz İstifadəçi tərəfindən müəyyən edilmiş funksiya nümunədə təsvir edilən ​​2 -də tələbə adlarını qaytarmaq üçün iki ölçülü massivdən istifadə etdik.

Hugh West sənayedə 10 ildən çox təcrübəyə malik yüksək təcrübəli Excel təlimçisi və analitikidir. Mühasibat uçotu və maliyyə üzrə bakalavr dərəcəsi və Biznesin idarə edilməsi üzrə magistr dərəcəsinə malikdir. Hugh tədrisə həvəslidir və izləmək və başa düşmək asan olan unikal tədris yanaşması işləyib hazırlayıb. Onun Excel üzrə ekspert biliyi bütün dünyada minlərlə tələbə və mütəxəssisə öz bacarıqlarını təkmilləşdirməyə və karyeralarında üstün olmağa kömək etmişdir. Hugh öz bloqu vasitəsilə biliklərini dünya ilə bölüşür, fərdlərə və müəssisələrə öz potensiallarını tam şəkildə çatdırmaq üçün pulsuz Excel dərsləri və onlayn təlimlər təklif edir.