İçindekiler:
- A Select Case örnek
- Aşağıdaki örnekte gösterildiği gibi Select Case yapılarını iç içe yerleştirebilirsiniz. Bu rutin aktif hücreleri inceler ve hücrenin içeriğini açıklayan bir mesaj görüntüler. Yordamın üç Select Kasa yapısı bulunduğuna ve her birinin Son Son Seç deyimine sahip olduğuna dikkat edin:
Video: Excel'de Özet Tablo (Pivot Table) ile Veri Analizi ve Raporlama - Tanıtım Videosu 2024
Select Case yapısı, üç veya daha fazla sayı içeren kararlar için kullanışlı bir VBA yapısıdır Seçenekler Excel 2016'da (ancak If-Then-Else yapısına bir alternatif sağlayarak iki seçenekle de çalışabilse de).
A Select Case örnek
Aşağıdaki örnek, Select Case yapısının nasıl kullanılacağını gösterir:
Sub ShowDiscount3 () Dim Quantity As As Long Dim İndirim As Double Quantity = InputBox ("Miktar Girin") Kutuyu Seçin Adet Durum 0'dan 24'e İndirim = 0. 1 Durum 25'den 49'a İndirim = 0. 15 Durum 50'den 74'e İndirim = 0. 2 Durum Varsay> = 75 İndirim = 0. 25 Bitiş Seçimi MsgBox "İndirim" ve İndirim Sonu Alt > Bu örnekte, Miktar değişkeni değerlendirilmektedir. Rutin dört farklı vakayı denetler (0-24, 25-49, 50-74 ve 75 veya daha büyük).
Sub ShowDiscount4 () Dim Miktar Uzun Vadeli İndirim As Double Quantity = InputBox ("Miktar Girin") Kutuyu Seçin Miktar Durum 0 - 24: İndirim = 0. 1 Durum 25 için 49: İndirim = 0. 15 Durum 50 - 74: İndirim = 0 2 Durum => 75 =: İndirim = 0. 25 End MsgBox "İskonto": İndirim End Sub
VBA, VBA gerçek bir dava bulur bulmaz yapı çıkar ve bu dava için ifadeleri uygular.
Aşağıdaki örnekte gösterildiği gibi Select Case yapılarını iç içe yerleştirebilirsiniz. Bu rutin aktif hücreleri inceler ve hücrenin içeriğini açıklayan bir mesaj görüntüler. Yordamın üç Select Kasa yapısı bulunduğuna ve her birinin Son Son Seç deyimine sahip olduğuna dikkat edin:
Alt CheckCell () Dim Msg As String Küme Seç IsEmpty (ActiveCell) Case True Msg = "boş. "Case Else Select Case, ActiveCell. HasFormula Case Gerçek Msg = "bir formül var" Case Else Select Case IsNumeric (ActiveCell) Case Gerçek Msg = "bir numara var" Case Else Msg = "Metin var" End Select End Select Son Seç MsgBox "Cell" & ActiveCell. Adres & "" & Msg End Sub
Mantık şu şekilde:
-
Boş değilse, bir formül içeriyor olup olmadığına bakın.
-
Eğer formül yoksa, sayısal bir değer mi yoksa metin mi içerdiğini bulun.
-
Rutin bittiğinde, Msg değişkeni hücrenin içeriğini tanımlayan bir dize içerir. MsgBox işlevi, bu iletiyi görüntüler.
CheckCell yordamı tarafından görüntülenen bir ileti.
Select Case yapılarını istediğiniz gibi yerleştirin, ancak her Select Case deyiminin karşılık gelen bir End Select deyimine sahip olduğundan emin olun.Girintilenen kodun çaba harcayacağına ikna olmadıysanız, önceki liste iyi bir örnektir. Yuvalanma düzeylerini açıkça ortaya koyan girintiler. Aynı prosedüre herhangi bir girinti yapmadan bir göz atın:
Alt CheckCell () Dim Gömleği String'i Seç Case IsEmpty (ActiveCell) Case True Msg = "boş. "Case Else Select Case, ActiveCell. HasFormula Case Gerçek Msg = "bir formül var" Case Else Select Case IsNumeric (ActiveCell) Case Gerçek Msg = "bir numara var" Case Else Msg = "Metin var" End Select End Select Son Seç MsgBox "Cell" & ActiveCell. Adres & "" & Msg End Sub
Oldukça anlaşılmaz, ha?