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
.