如果要检查的条件很多,或者要根据用户的选择进行某些操作,则可以使用If Else If语句。但是当涉及多个条件时,它们很麻烦。在这种情况下,Excel VBA中最好的解决方案是“选择案例”方法。

什么是VBA中的Select Case语句?

当您有多个条件要检查时,VBA中的Select Case语句非常有用。它们就像其他编程语言中的switch语句。它检查给定的变量并执行匹配的大小写。

Excel VBA中Select Case的语法

Select Case variable

case Condition1

result1

case Condition2

Condition2

情况条件N

resultN

[否则

resultElse]

Select Case:Here Select Case* is a keyword to start the case check.

Variable: Variable is any variable that you want to check.

Case: from the next line, we start checking the conditions with variables.

You can have as many conditions as you want. We can check any condition with the keyword case. The condition can be a logical statement or a straight value of the Selected Variable. It will always result in true-false value. These all are valid statements:

选择案例区域

‘使用直值

案例“中央”

Range(“ D1”)。Value =区域

‘使用is语句

大小写为=“中央”

Range(“ D1”)。Value =区域

结束选择

With is you can put arithmetic logical operators to check if the Case is equal to(=), greater than(>), less than(<), etc.

You can use the comma (",") to do one operation on multiple conditions (like or operator).

大小写为=“ West”,“ North”,“ South”

Range(“ D1”)。Value =区域

You can also use To operator to check among large ranges.

案例1至40

成绩=“ F”

案例41至60

Grade =“ C”

案例61至80

Grade =“ B”

案例81至100

等级=“ A”

The Case Else statement is optional. You can use it to do something by default if none of the case match. Like showing a message that the choice is invalid or something.

其他情况

MsgBox“无效选项”

Now that we know about the basics of the Select Case, let's have an example.

===  Example: Create A Grading Function UsingVBA Select Case We need to create a function that checks the supplied value and returns the grades according to below rules:

*  If >41, Grade="F"

*  If between 41 and 60, Grade="C"

*  If between 61 and 80, Grade="B"

*  If between 81 and 100, Grade="A"

*  else #VALUE! error.

We will use the Select Case as a Switch statement of VBA here. The code for the custom function will be:

函数GRADES(数字为双精度)

选择案例编号

案例<41

GRADES =“ F”

案例41至60

GRADES =“ C”

案例61至80

GRADES =“ B”

案例81至100

GRADES =“ A”

其他情况

GRADES =“ #VALUE!”

结束选择

结束函数

image:https://www.office-skill.site/images/wp-content-uploads-2020-01-Capture-43.jpg[image,width=658,height=282]

Now if you use this function on the sheet, it will return the grades easily.

image:https://www.office-skill.site/images/wp-content-uploads-2020-01-Capture-42.jpg[image,width=369,height=288]

So yeah guys, this is how the Select Case (switch) statement is used in Excel VBA to check multiple conditions. Instead of multiple If Else If statement we use the Select Case statement to switch results. If you have any doubts regarding this article or any other Excel/VBA related articles, ask in the comments section below.

Download the working file below:

image:https://www.office-skill.site/images/wp-content-uploads-2015-06-image-481.png[image 48,width=128,height=49]



===  Related Articles:

`link:/office-skill-cn/using-loops-using-loops-in-vba-in-microsoft-excel[Using Loop in VBA in Microsoft Excel]`| The loops in VBA enable us to do a similar task over and over without repetition of code. There are 3 types of loops in Excel VBA.

`link:/office-skill-cn/using-loops-for-loops-with-7-examples[7 Examples of For Loops in Microsoft Excel VBA]`| The 7 examples of for loop can make your automation life easy. Let's start with simple for loop.



===  Popular Articles:

`link:/office-skill-cn/keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity[50 Excel Shortcuts to Increase Your Productivity]` | Get faster at your task. These 50 shortcuts will make you work even faster on Excel.

`link:/office-skill-cn/formulas-and-functions-introduction-of-vlookup-function[The VLOOKUP Function in Excel]` | This is one of the most used and popular functions of excel that is used to lookup value from different ranges and sheets. `link:/office-skill-cn/tips-countif-in-microsoft-excel[COUNTIF in Excel 2016]` | Count values with conditions using this amazing function. You don't need filter your data to count specific value.

Countif function is essential to prepare your dashboard.

`link:/office-skill-cn/excel-formula-and-function-excel-sumif-function[How to Use SUMIF Function in Excel]` | This is another dashboard essential function. This helps you sum up values on specific conditions.