社交媒体 如何在Excel 2016 VBA中使用If-Then VBA - 傻瓜

如何在Excel 2016 VBA中使用If-Then VBA - 傻瓜

目录:

视频: Excel VBA IF THEN Statement (with ELSEIF & Looping in cells) 2024

视频: Excel VBA IF THEN Statement (with ELSEIF & Looping in cells) 2024
Anonim

If-Then是VBA最重要的控制结构。你可能会每天使用这个命令。当您想要有条件地执行一个或多个语句时,请使用If-Then结构。如果包含可选的Else子句,如果您正在测试的条件是 而不是 ,则可以执行一个或多个语句。这是一个简单的CheckUser过程,记录使用If-Then-Else结构:

<!如果用户名=“Satya Nadella”然后MsgBox(“Welcome Satya …”)'… [更多代码] … Else MsgBox(“请输入您的姓名:”) “抱歉。只有Satya Nadella可以运行这个。 “End If End Sub
If-Then examples

下面的例程演示没有可选的Else子句的If-Then结构:

Sub GreetMe()If Time <0.5 then MsgBox”Good Morning“End Sub

GreetMe过程使用VBA的Time函数获取系统时间。如果当前时间少于。 5,例程显示友好的问候。如果时间大于或等于。 5,例程结束,没有任何反应。

<! - 1 - >

如果时间大于或等于,则显示不同的问候语。 5,您可以在第一个之后添加另一个If-Then语句:

Sub GreetMe2()If Time = 0. 5然后MsgBox“Good Afternoon”End Sub

注意> =(大于或等于)用于第二个If-Then语句。这确保了整个一天的覆盖。如果>(大于)被使用,如果这个程序正好在中午12点执行,则不会出现任何消​​息。这是不太可能的,但有了这样一个重要的计划,你不想冒任何的机会。

一个If-Then-Else的例子

另一种解决上述问题的方法是使用Else从句。下面是使用If-Then-Else结构记录的相同例程:

Sub GreetMe3()If Time <0. 5 Then MsgBox“Good Morning”Else _ MsgBox“Good Afternoon”End Sub

注意行在前面的例子中使用了连续字符(下划线)。 If-Then-Else陈述实际上是一个陈述。 VBA提供了使用End If语句的If-Then-El构造的稍微不同的编码方式。因此,GreetMe过程可以被重写为

<! - 3 - >

Sub GreetMe4()如果时间<0.5然后MsgBox“早上好”否则MsgBox“下午好”结束如果结束小组
事实上,您可以插入任何数量的语句下如果部分和任何数量的陈述在其他部分。这个语法更容易阅读,并使语句更短。

如果您需要扩展GreetMe例程以处理三个条件:上午,下午和晚上,该怎么办?您有两个选择:使用三个If-Then语句或使用

嵌套的 If-Then-Else结构。 嵌套 意味着在另一个If-Then-Else结构中放置一个If-Then-Else结构。第一种方法,使用三个If-Then语句更简单: Sub GreetMe5()Dim Msg As String If Time = 0 5 and Time = 0 75然后Msg =“Evening”MsgBox“Good”&Msg End Sub

使用一个变量添加一个新的扭曲。 Msg变量根据一天的时间获取不同的文本值。 MsgBox语句显示问候语:早上好,下午好或晚上好。

下面的例程执行相同的操作,但使用If-Then-End If结构:

Sub GreetMe6()Dim Msg As String If Time = 0。5 and Time = 0. 75然后Msg =“Evening” End If MsgBox“Good”&Msg End Sub

使用ElseIf

在前面的例子中,例程中的每个语句都被执行。一旦条件成立,一个稍微有效的结构就会退出程序。例如,早上,程序应该显示“早上好”消息,然后退出 - 而不会评估其他多余的情况。像这样的小程序,你不必担心执行速度。但对于速度至关重要的大型应用程序,您应该了解If-Then结构的另一个语法。

以下是如何使用以下语法重写GreetMe例程的方法:

Sub GreetMe7()Dim Msg As String If Time = 0 5 and Time <0. 75 Then Msg =“Afternoon”Else Msg =“Evening “End If MsgBox”Good“&Msg End Sub

当条件为true时,VBA执行条件语句,并且If结构结束。换句话说,这个过程比以前的例子更有效率。权衡是代码更难以理解。

另一个If-Then例子

这是另一个使用If-Then结构的简单形式的例子。此过程会提示用户输入一个数量,然后根据用户输入的数量显示相应的折扣:

Sub ShowDiscount()Dim Quantity As Long Dim Double Discount Double Quantity = InputBox(“Enter Quantity:”)If Quantity > 0然后折扣= 0 1如果数量> = 25那么折扣= 0 15如果数量> = 50那么折扣= 0 2如果数量> = 75那么折扣= 0 25 MsgBox“Discount:”&Discount End Sub注意,这个例程中的每个If-Then语句都被执行,并且折扣的值可以随着语句的执行而改变。但是,例程最终会显示折扣的正确值,因为If-Then语句按升序折扣值的顺序排列。

以下过程通过使用替代ElseIf语法来执行相同的任务。在这种情况下,例程在执行真实条件语句后立即结束:<数字> <数字> <数量> <数量> <数量> <数量>那么Discount = 0。1 ElseIf Quantity> = 25 And Quantity <50 then Discount = 0. 15 ElseIf Quantity> = 50 And Quantity <75 then Discount = 0 2 ElseIf Quantity> = 75 Then Discount = 0 25 End If MsgBox“Discount: Discount End Sub

这些多个If-Then结构相当麻烦。您可能希望仅将If-Then结构用于简单的二元决策。
如何在Excel 2016 VBA中使用If-Then VBA - 傻瓜

编辑的选择

古饮食计划:吃什么早餐 - 假人

古饮食计划:吃什么早餐 - 假人

一个发展的挑战早餐的一个古人(洞穴人)饮食膳食计划重新定义了哪些食物适合早餐的想法。谷类或鸡蛋和面包的非古式“传统”早餐不会削减它。不要试图将你的旧餐理念改造成新的古代格式,你可以尝试吃任何东西...

如何构建IOS应用程序

如何构建IOS应用程序

在Xcode中构建iOS应用程序意味着编译所有源代码代码文件在项目中。在构建和运行从模板创建的项目时,看到您所得到的结果真是令人兴奋。构建和运行应用程序相对简单;只需按照以下步骤操作:在工具栏中,选择一个方案...

编辑的选择

如何计算企业的盈亏平衡点 - 傻瓜

如何计算企业的盈亏平衡点 - 傻瓜

以下是您想知道的关于您拥有的业务或操作:您想知道公司必须达到的销售收入才能达到收支平衡。换句话说,你想知道产生零利润的销售收入数量,而不是零损失。幸运的是,无论是这种计算,还是...

如何使用QuickBooks 2014评估财务费用 - 傻瓜

如何使用QuickBooks 2014评估财务费用 - 傻瓜

您可以告诉QuickBooks在逾期时评估财务费用客户发票。为此,您首先设置财务费用计算规则。完成此操作后,您可以通过选择QuickBooks命令轻松评估逾期金额的财务费用。设置财务费用规则要设置财务费用规则,请选择...

如何计算QuickBook 2012中的盈亏平衡点 - 傻瓜

如何计算QuickBook 2012中的盈亏平衡点 - 傻瓜

QuickBooks 2012允许您计算产品盈亏平衡点快速简单。盈亏平衡点显示产生零利润和零损失的销售收入。记得进行利润 - 成本 - 成本分析的公式吗?它是这样的:利润=(销售收入x毛利率百分比) - 固定成本而不是计算利润的基础上...

编辑的选择

如何更改您的计算机的用户帐户图片 - 傻瓜

如何更改您的计算机的用户帐户图片 - 傻瓜

不仅每个使用您的计算机的人都有他自己的用户帐户,但每个用户都可以添加一个图片到用户帐户。所以,如果你不喜欢与你的用户帐户相关的图片,你运气好 - 你可以改变它。无论你选择什么样的图片,它都会出现在欢迎...

:如何更改您的计算机的桌面背景 - 傻瓜

:如何更改您的计算机的桌面背景 - 傻瓜

Windows桌面为您提供灵活性使其个性化。您可以在桌面上显示您最喜欢的孙子的照片,或使用您选择的颜色作为背景。改变电脑桌面背景的可能性几乎是无止境的。您甚至可以应用桌面主题,它应用了多种颜色和...

为老年人:如何选择一个桌面主题为您的计算机 - 虚拟

为老年人:如何选择一个桌面主题为您的计算机 - 虚拟

窗口内置桌面主题,您可以应用快速更改您的计算机的桌面的外观。这些桌面主题保存了包括菜单外观,背景颜色或图案,屏幕保护程序,甚至鼠标光标和系统声音的元素集。主题保存包含菜单外观,背景颜色或图案的元素集合...