excel-vba
Instrukcje warunkowe
Szukaj…
Instrukcja If
Instrukcja sterująca If umożliwia wykonanie innego kodu w zależności od oceny instrukcji warunkowej (boolowskiej). Instrukcja warunkowa to taka, która ma wartość True lub False , np. x > 2 .
Istnieją trzy wzorce, których można użyć podczas implementacji instrukcji If , które opisano poniżej. Należy pamiętać, że If ocena warunkowa zawsze następuje przez Then .
1. Ocenianie jeden If instrukcja warunkowa i robi coś, jeśli to jest True
Instrukcja jednowierszowa If
Jest to najkrótszy sposób użycia If i jest przydatny, gdy tylko jedna instrukcja musi zostać przeprowadzona na podstawie True oceny. Podczas korzystania z tej składni cały kod musi znajdować się w jednym wierszu. Nie dołączaj End If na końcu linii.
If [Some condition is True] Then [Do something]
If blok
Jeśli na podstawie oceny True konieczne jest wykonanie wielu wierszy kodu, można użyć bloku If .
If [Some condition is True] Then
[Do some things]
End If
Zauważ, że jeśli multi-line If używany jest blok, odpowiedni End If jest wymagane.
2. Ocena jednego warunkowego wyrażenia If , robienie jednej rzeczy, jeśli jest to True i robienie czegoś innego, jeśli jest False
Pojedyncza linia If , Else instrukcja
Można tego użyć, jeśli jedno stwierdzenie ma być przeprowadzone na podstawie True oceny, a inne oświadczenie ma zostać wykonane na podstawie False oceny. Zachowaj ostrożność przy stosowaniu tej składni, ponieważ czytelnicy często nie mają pewności, czy istnieje instrukcja Else . Podczas korzystania z tej składni cały kod musi znajdować się w jednym wierszu. Nie dołączaj End If na końcu linii.
If [Some condition is True] Then [Do something] Else [Do something else]
If , Else zablokuj
Użyj bloku If , Else , aby dodać czytelności do swojego kodu, lub jeśli wiele wierszy kodu musi zostać wykonanych w ramach oceny True lub False .
If [Some condition is True] Then
[Do some things]
Else
[Do some other things]
End If
Zauważ, że jeśli multi-line If używany jest blok, odpowiedni End If jest wymagane.
3. Ocena wielu instrukcji warunkowych, gdy wszystkie poprzednie są False , i robienie czegoś innego dla każdego z nich
Ten wzór jest najbardziej ogólnym zastosowaniem If i byłby stosowany, gdy istnieje wiele nie nakładających się warunków, które wymagają odmiennego leczenia. W przeciwieństwie do dwóch pierwszych wzorców, ten przypadek wymaga użycia bloku If , nawet jeśli dla każdego warunku zostanie wykonany tylko jeden wiersz kodu.
If , ElseIf , ... , Else block
Zamiast tworzyć wiele bloków If jeden pod drugim, można użyć ElseIf ocenić dodatkowy warunek. ElseIf jest oceniany tylko wtedy, gdy którykolwiek z poprzedzających testów If jest False .
If [Some condition is True] Then
[Do some thing(s)]
ElseIf [Some other condition is True] Then
[Do some different thing(s)]
Else 'Everything above has evaluated to False
[Do some other thing(s)]
End If
Jak wiele ElseIf może być zawartych pomiędzy If i End If jeśli jest to wymagane. ElseIf Else nie jest wymagana podczas korzystania z ElseIf (chociaż jest to zalecane), ale jeśli jest uwzględniona, musi być ostatnią instrukcją kontroli przed End If .