VBA-da vəziyyət ifadələri

Excel VBA-da istifadə olunan ən vacib şərt ifadələri ifadələrdir Əgər… Sonra и Case seçin. Bu ifadələrin hər ikisi bir və ya bir neçə şərti sınaqdan keçirir və nəticədən asılı olaraq müxtəlif hərəkətləri yerinə yetirir. Bu iki şərti operator haqqında sonra daha ətraflı danışacağıq.

Visual Basic-də "Əgər... Sonra" ifadəsi

Operator Əgər… Sonra şərti yoxlayır və əgər doğrudursa (DOĞRU), onda göstərilən hərəkətlər toplusu yerinə yetirilir. O, həmçinin şərt YANLIŞ olduqda yerinə yetiriləcək hərəkətlər toplusunu müəyyən edə bilər.

Operator sintaksisi Əgər… Sonra bunun kimi:

If Условие1 Then

   Действия в случае, если выполняется Условие1

ElseIf Условие2 Then

   Действия в случае, если выполняется Условие2

Else

   Действия в случае, если не выполнено ни одно из Условий

End If

Bu ifadədə elementlər başqa и daha şərtlər operatoru lazım olmadıqda buraxıla bilər.

Aşağıda operatorun istifadə etdiyi bir nümunə verilmişdir Əgər… Sonra Aktiv xananın rəngi içindəki dəyərdən asılı olaraq dəyişir:

Əgər ActiveCell.Value < 5 Onda ActiveCell.Interior.Color = 65280 'Ячейка окрашивается в зелёный цвет ElseIf ActiveCell.Value < 10 Sonra ActiveCell.Interior.Color = 49407 'Ячейка орвет.Color = 255 'Ячейка в зелёный цвет ElseIf. окрашивается в красный цвет End If

Qeyd edək ki, şərt doğru olan kimi şərti ifadənin icrası dayandırılır. Buna görə də, əgər dəyişənin dəyəri ActiveCell 5-dən az olduqda, birinci şərt doğru olur və hüceyrə yaşıl rəngə boyanır. Bundan sonra ifadənin icrası Əgər… Sonra kəsilir və digər şərtlər yoxlanılmır.

VBA-da şərti operatordan istifadə haqqında ətraflı məlumat əldə edin Əgər… Sonra Microsoft Developer Network-də tapa bilərsiniz.

Visual Basic-də "Seçin Case" ifadəsi

Operator Case seçin operatora bənzəyir Əgər… Sonra ki, o, həm də şərtin doğruluğunu yoxlayır və nəticədən asılı olaraq, variantlardan birini seçir.

Operator sintaksisi Case seçin bunun kimi:

Select Case Выражение

Case Значение1

   Действия в случае, если результат Выражения соответствует Значению1

Case Значение2

   Действия в случае, если результат Выражения соответствует Значению2

...

Case Else

   Действия в случае, если результат Выражения не соответствует ни одному из перечисленных вариантов Значения

End Select

Element Başqa Dava tələb olunmur, lakin gözlənilməz dəyərlərlə işləmək üçün tövsiyə olunur.

Aşağıdakı nümunədə konstruksiyadan istifadə etməklə Case seçin cari xananın rəngini içindəki dəyərdən asılı olaraq dəyişir:

Case ActiveCell.Value Case Is <= 5 ActiveCell.Interior.Color = 65280 'Ячейка окрашивается в зелёный цвет Case 6, 7, 8, 9 ActiveCell.Interior.Color = 49407 'Ячейка окрашивается в зелёный цвет 10 'Ячейка окрашивается в зелёный цвет. Rəng = 65535 'Ячейка окрашивается в жёлтый цвет Case 11-dən 20-yə qədər ActiveCell.Interior.Color = 10498160 'Ячейка окрашивается в лиловый цвет Case Else ActiveCell.Interior.Color = 255 окрашивается 'Ячейка окрашивается в жёлтый цвет 'Ячейка в лиловый цвет

Yuxarıdakı nümunə bir element üçün müxtəlif yollarla necə dəyər təyin edə biləcəyinizi göstərir. hal tikintidə Case seçin. Bu yollar:

Davadır <= 5Beləliklə, açar sözdən istifadə etməklə Davadır dəyərin uyğun olub olmadığını yoxlaya bilərsiniz İfadələr formanın vəziyyəti <= 5.
hal 6, 7, 8, 9Beləliklə, dəyərin uyğun olub olmadığını yoxlaya bilərsiniz İfadələr sadalanan dəyərlərdən biri ilə. Siyahıda göstərilən dəyərlər vergüllə ayrılır.
hal 10Bu, dəyərin uyğun olub olmadığını yoxlayır İfadələr verilmiş dəyərlə.
hal 11 Bu belədir 20Beləliklə, dəyərin uyğun olub olmadığını yoxlamaq üçün bir ifadə yaza bilərsiniz İfadələr formanın vəziyyəti 11 olan 20 üçün (“11<=dəyər<=20” bərabərsizliyinə ekvivalent).
Başqa DavaBu kimi, açar sözdən istifadə edərək daha, qiymət halında hərəkətlər göstərilir İfadələr sadalanan variantlardan heç birinə uyğun gəlmir hal.

Şərtlərdən biri tapılan kimi müvafiq hərəkətlər yerinə yetirilir və struktur çıxır. Case seçin. Yəni istənilən halda sadalanan filiallardan yalnız biri icra olunacaq. hal.

VBA bəyanatının işləməsi haqqında ətraflı məlumat Case seçin Microsoft Developer Network-də tapa bilərsiniz.

Cavab yaz