【VBA教材】38.常用语句透析(十二)
【VBA教材】39.常用语句透析(十三)

【VBA教材】39.常用语句透析(十三)贡献者:罗刚君日期:2009-10-14 阅读:1081相关标签:pub2007VBASelect Case与IF… Then…Else两者都可以实现多条件判断,但在使用中各有优势。
本节对两者做一详细比较IF… Then…Else的优势在于在条件中可以随时使用And与Or运算符对多个对象设置条件,而Select Case语句只能针对Select Case语句中首先指定的唯一条件进行判断。
例如在A1大于60及B1小于60时执行过程“A”,否则执行过程“B”,IF… Then…Else语句可以利用以下方式完成:______________________________________________________Sub 多对象设置条件() 'IF…Then…IF [a1] < 60 And [b1] > 60 ThenCall AElseCall BEnd IFEnd Sub______________________________________________________而Select Case语句是无法完成以上条件的,它只能完成在A1大于60或者A1小于60时执行过程“A”,否则执行过程“B”这种需求。
代码如下:______________________________________________________Sub 单一对象多条件() 'Select CaseSelect Case [a1]Case Is < 60, Is > 60Call aCase ElseCall BEnd SelectEnd Sub______________________________________________________在Select Case条件语句中,只能对一个对象设置条件,它可能是多个条件。
但多个对象指定多个条件则只能改用IF…Then…Else语句。
vba select语句

vba select语句VBA(Visual Basic for Applications)是一种用于Microsoft Office应用程序的编程语言,可以帮助自动化重复的任务,提高工作效率。
其中,Select语句是VBA的一部分,它用于选择程序中一段代码进行执行。
本文将逐步回答关于VBA Select语句的相关问题,帮助读者了解其原理和用法。
一、什么是VBA Select语句?VBA Select语句是一种条件语句,用于根据给定的条件或表达式在多个选项中进行选择执行。
它通过评估条件或表达式的值来确定应执行的代码块。
二、VBA Select语句的语法结构是怎样的?VBA Select语句具有以下的语法结构:Select Case expressionCase value1'代码块1Case value2'代码块2Case value3'代码块3...Case Else'默认代码块End Select该语法结构包括Select Case语句和一个或多个Case语句。
可以使用多个Case语句来测试多个条件,并在每个条件满足时执行相应的代码块。
默认代码块(Case Else)可用于指定在所有条件都不满足时执行的代码。
三、VBA Select语句的工作原理是什么?工作原理如下所示:1. 首先,评估expression的值。
2. 然后,根据expression的值去匹配每个Case语句中的value。
3. 如果找到匹配的value,则执行相应的代码块,并跳出Select语句。
4. 如果未找到匹配的value,则执行默认代码块(如果有)。
5. 在执行完相应的代码块后,程序将继续执行在Select语句之后的代码。
四、VBA Select语句可以使用哪些条件?VBA Select语句可以使用表达式、变量、函数或常量作为条件。
常见的条件类型包括数字、字符串和布尔值。
五、VBA Select语句的示例是什么?以下是一个简单的VBA Select语句示例,用于根据星期几输出相应的信息:Sub SelectExample()Dim dayOfWeek As StringdayOfWeek = "Monday"Select Case dayOfWeekCase "Monday"MsgBox "开始新的一周!"Case "Tuesday", "Wednesday", "Thursday"MsgBox "还有几天就要放假了!"Case "Friday"MsgBox "周五快乐!"Case "Saturday", "Sunday"MsgBox "放松休息,快乐周末!"Case ElseMsgBox "无效的日期。
VBA常用代码解析

EXCEL VBA常用代码解析Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。
▲001 单元格的引用方法在VBA中经常需要引用单元格或单元格区域区域,主要有以下几种方法。
001-1 使用Range属性VBA中可以使用Range属性返回单元格或单元格区域,如下面的代码所示。
Sub RngSelect()Sheet1.Range("A3:F6,B1:C5").SelectEnd Sub代码解析:RangeSelect过程使用Select方法选中A3:F6,B1:C5单元格区域。
Range属性返回一个Range对象,该对象代表一个单元格或单元格区域,语法如下:Range(Cell1,Cell2)参数Cell1是必需的,必须为A1 样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。
也可包括美元符号(即绝对地址,如“$A$1”)。
可在区域中任一部分使用局部定义名称,如Range("B2:LastCell"),其中LastCell为已定义的单元格区域名称。
参数Cell2是可选的,区域左上角和右下角的单元格。
运行RangeSelect过程,选中A3:F6,B1:C5单元格区域。
001-2 使用Cells属性使用Cells属性返回一个Range对象,如下面的代码所示。
Sub Cell()Dim icell As IntegerFor icell = 1 To 100Sheet2.Cells(icell,1).Value = icellNextEnd Sub代码解析:Cell过程使用For...Next语句为工作表中的A1:A100单元格区域填入序号。
excel vba常用的条件语句 case

excel vba常用的条件语句case什么是Excel VBA条件语句?Excel VBA(Visual Basic for Applications)是一种编程语言,可用于自动化处理Excel中的各种任务。
条件语句是一种编程中常用的结构,可根据不同的条件执行不同的操作。
在Excel VBA中,条件语句是通过使用一组不同的语句来实现的。
其中,Case语句是一种常见的条件语句,用于根据不同的条件执行相应的操作。
什么是Case语句?Case语句是Excel VBA中用于根据不同条件执行不同操作的语句。
它类似于Switch语句,可以通过指定一个或多个可能的值来匹配条件。
Case语句的语法如下:Select Case expressionCase value1'执行操作1Case value2'执行操作2Case value3'执行操作3Case Else'如果所有条件都不符合,则执行此操作End Select在Case语句中,`expression`是需要进行判断的值,而`value1`、`value2`等是可能的值。
根据`expression`的不同取值,程序会逐个检查每个Case,并执行与之匹配的操作,如果没有匹配的情况,就会执行`Case Else`中的操作。
下面我们将详细介绍Case语句的各个方面及其在Excel VBA中的应用。
Case语句的使用方法Case语句是根据`expression`的不同取值来选择对应的操作。
假设我们有一个工作表,其中A列是水果的名称,B列是对应的价格。
现在我们需要根据输入的水果名称,找到对应的价格并输出到单元格C1中。
首先,我们需要通过VBA代码来实现这个功能。
在VBA编辑器中,我们可以编写以下代码:vbaSub FindFruitPrice()Dim fruit As Stringfruit = Range("A1").ValueSelect Case fruitCase "苹果"Range("C1").Value = 5Case "香蕉"Range("C1").Value = 3Case "橙子"Range("C1").Value = 2Case ElseRange("C1").Value = "未知"End SelectEnd Sub在这个代码中,我们首先使用`Range("A1").Value`来获取单元格A1中的水果名称,然后将其赋值给`fruit`变量。
VBA常用函数及使用方法

VBA常用函数及使用方法VBA(Visual Basic for Applications)是一种用于编写Microsoft Office应用程序的编程语言。
它允许用户编写自定义功能,优化工作流程,并提高效率。
在VBA 中,函数是一种非常重要的工具,它可以执行各种操作,例如计算、查询数据和处理文本。
本文将介绍几个VBA中常用的函数及其使用方法,帮助读者更好地应用VBA来解决问题和自动化任务。
1. Len 函数Len函数用于返回指定字符串的长度。
它的语法如下:Len(字符串)其中,字符串是要计算长度的字符串。
示例:Dim str As Stringstr = "Hello World"MsgBox Len(str)上述代码会在消息框中显示字符串"Hello World"的长度,即11。
2. InStr 函数InStr函数用于在一个字符串中查找第一个指定子字符串的位置。
它的语法如下:InStr([start, ]字符串1, 字符串2[, 比较模式])其中,start是可选参数,指定从字符串1的哪个位置开始搜索,默认为1;字符串1是要搜索的字符串;字符串2是要查找的子字符串;比较模式是可选参数,指定搜索时是否区分大小写,默认为0,代表不区分大小写。
示例:Dim str As Stringstr = "Hello World"MsgBox InStr(str, "o")上述代码会在消息框中显示第一个字母"o"在字符串"Hello World"中的位置,即5。
3. Left 和 Right 函数Left函数用于返回一个字符串的左侧指定个数的字符,Right函数用于返回一个字符串的右侧指定个数的字符。
它们的语法如下:Left(字符串, 数字)Right(字符串, 数字)其中,字符串是要截取的字符串,数字是要截取的字符个数。
vba语句解释

vba语句解释.txt我们用一只眼睛看见现实的灰墙,却用另一只眼睛勇敢飞翔,接近梦想。
男人喜欢听话的女人,但男人若是喜欢一个女人,就会不知不觉听她的话。
mandBars("命令按钮名称").Position = msoBarFloating '使[命令按钮]悬浮在表格中mandBars("命令按钮名称").Position = msoBarTop '使[命令按钮]排列在工具栏中ActiveSheet.protect Password:="wshzw" '为工作表保护加口令ActiveSheet.Unprotect Password:="wshzw" '解除工作表保护Activesheet.ProtectContents '判断工作表是否处于保护状态Sub wshzw()Dim i As IntegerFor i = 1 To 5Sheets("Sheet1").Copy After:=Sheets(1) 'Before/After 复制新表在Sheets("Sheet1") 前/后 = i & "月" '为复制的新表命名Next iSheets("Sheet1").Name = "总表" '为 Sheets("Sheet1") 改名End SubApplication.EnableEvents = False......Application.EnableEvents = True '抑制事件连锁执行Application.DisplayAlerts=False '屏蔽确认提示Application.ScreenUpdating = False.......Application.ScreenUpdating = true ' 冻结屏幕以加快程序运行ActiveCell.CurrentRegion.Select '选择与活动单元格相连的区域range("a2:a20").NumberFormatLocal = "00-00" '区域的格式化ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row '已用区域的最末行ActiveSheet.Copy Before:=Sheets(1) '复制活动工作表到第一张工作表之前range("a2:a20").FormulaHidden = True '工作表处于保护状态时隐藏部分单元格公式FileDateTime("E:\My Documents\33.xls")或FileDateTime(thisworkbook.FullName) '文件被创建或最后修改后的日期和时间FileLen(thisworkbook.FullName) / 1024或FileLen("E:\My Documents\temp\33.xls") / 1024 '文件的长度(大小),单位是 KBApplication.AskToUpdateLinks = False '不询问是否更新链接,并自动更新链接ActiveSheet.Hyperlinks.Delete '删除活动工作表超链接ActiveWorkbook.SaveLinkValues = False '不保存活动工作簿的外部链接值ActiveSheet.PageSetup.CenterFooter = Range("k2").Value '打印时设置自定义页脚ActiveSheet.PageSetup.Orientation = xlLandscape '设置为横向打印ActiveSheet.PageSetup.Orientation = xlPortrait '设置为纵向打印Application.WindowState = xlMinimized '最小化窗口Application.WindowState = xlNormal '最大化窗口[A65536].End(xlUp).Row 'A列末行向上第一个有值的行数[A1].End(xlDown).Row 'A列首行向下第一个有值之行数[IV1].End(xlToLeft).Column '第一行末列向左第一列有数值之列数。
VBA教程
VBA教程VBA(Visual Basic for Applications)是一种编程语言,专门用于编写Microsoft Office应用程序的宏(宏是一系列的指令和操作)。
VBA可以帮助用户自动化和定制Microsoft Office应用程序的功能,提高工作效率。
1.VBA的概述:3.变量和数据类型:在VBA中,您可以使用变量来存储和处理数据。
在声明变量之前,需要指定变量的数据类型。
常见的数据类型包括整数(Integer)、长整数(Long)、单精度浮点数(Single)、双精度浮点数(Double)、字符串(String)等。
变量的声明可以在过程内部或模块的顶部进行。
4.条件语句:条件语句用于根据条件的真假执行不同的操作。
VBA中常用的条件语句包括if语句和select case语句。
if语句用于判断一个条件是否为真,根据条件的结果选择执行不同的代码块。
select case语句用于根据多个条件之一执行不同的代码块。
5.循环语句:循环语句用于重复执行一段代码,直到一些条件满足为止。
VBA中常用的循环语句包括for循环、while循环和do循环。
for循环用于指定一个范围内的循环次数,while循环用于在一些条件为真时反复执行代码,do循环用于至少执行一次代码块,并在条件为真时继续循环。
6.宏录制:VBA提供了宏录制功能,可以将用户的操作过程录制下来,并将其转化为VBA代码。
通过宏录制,您可以学习和理解VBA代码的生成过程,并根据录制代码对其进行修改和优化。
以上就是VBA的基础入门知识介绍,希望对您入门学习VBA有所帮助。
如果您想更深入地了解VBA,可以参考官方文档和相关教程,并通过实践来提升您的编程技巧。
祝您在学习VBA的过程中取得成功!。
vba语法结构
vba语法结构VBA(Visual Basic for Applications)是Microsoft Office的宏编程语言,用于自动化Office应用程序。
以下是VBA的一些基本语法结构:1. 声明变量:```vbaDim variableName As dataType```2. 赋值语句:```vbavariableName = value```3. 条件语句:If...Then...ElseIf...End If```vbaIf condition Then' code to execute if the condition is trueElseIf anotherCondition Then' code to execute if the first condition is false and the second condition is trueElse' code to execute if both conditions are falseEnd If```4. 循环语句:For...Next```vbaFor counter = start To end [Step increment]' code to execute within the loopNext [counter]```Do...While...Loop```vbaDo While condition' code to execute within the loopLoop```5. 数组:```vbaDim MyArray(n) As dataType```6. 子程序(Sub)和函数(Function):Sub不返回值,而Function返回值。
7. 错误处理:使用`On Error`语句。
例如,`On Error GoTo ErrorHandler`。
8. With语句:简化对多个对象的相同操作。
VBA程序开发语句集锦解析
Excel VBA PROGRAM TECHNOLOGYITEM CODE SUBJECT CONTENTS (Excel VBA1Event选择改变事件Private Sub Worksheet_SelectionChange(ByVal Target AsRange End Sub当重新选择工作表中单元格时,此函数被调用(被激活执行,其中Target.Row为选中单元格的行号,其中Target.Column为选中单元格的列号。
2Eve nt 工作表单元格内容改变事件Private Sub Worksheet_Cha nge(ByVal TargetAs Range End Sub当改变了单元格的内容时,此函数被调用(被激活执行,其中Target.Row为选中单元格的行号,其中Target.Column为选中单元格的列号。
3Se nte nee为某个单元格的内容赋值赋予文本内容:Worksheet("SheetName".Cells行号洌号.Formula ="赋值内容"赋予数值内容:Worksheet("SheetName".Cells行号洌号.Value =所赋的数值4Sentence为某个Excel文件薄内单元赋值Workbooks("Book1.xls".Worksheets("Sheet1".Cells(1, I.Formula ="赋值内容"Workbooks("Book1.xls".Worksheets("Sheet1".Cells(1, I.Value =所赋的数值5Switch 关闭屏幕更新Application.ScreenUpdating = False执行以上语句后,将停止屏幕显示更新动作,可以达到提高运算速度、避免屏幕闪动的效果6Se nte nee查找数据区域某列的最大行号RowMax=Workbooks(ExcelBookName.Worksheets(SheetName.Cells(65536,C1.E nd(xlUp.Row其中C1为指定的某列的列号7Se nte nee查找数据区域某行的最大列号ColMax=Workbooks(ExcelBookName.Worksheets(SheetName.Cells(R1,255.E nd(xlToLeft.Colu mn其中R1为指定的某行的行号获取数据区的最大列号获取第3行的最大列号:Worksheets(1.cells(3,255.E nd(xlToLeft.Colu mn8Se ntence复制工作表内所有单元格Cells.Copy9Switch 关闭预警设置Application.DisplayAlerts = False(Applicati on .DisplayAlerts = True当执行文件存盘,在存储目录中有相同名称的文件时,如果执行了以上语句,则不再提出预警一般在使用完以上语句后,则立即执行括号内的对应语句,避免不可预知的错误发生lOSwitch 关闭文件时不执行存盘动作Workbooks(File.Close savecha nges:=False"Function从一个字符串中截取一个子串Mid(string, start,x;其中string为原字符串,start为开始位置,x为截取子字符串的长度也可以使用函数:Right(text,num_chars和Left(text,num_chars返回子字符串12Fu nction计算两个日期之间的天数、月份语法:=DATEDIF(start_date,e nd_date,u nit数、年数1.Start_date代表一段时期的第一个日期或起始日的日期。
第六章VBA常用语句
第六章VBA常用语句第6章 VBA常用语句在VBA的程序代码中,语句是程序的主要成份,或者说是程序的主体部分。
每个语句以回车键结束。
6.1 语句在默认情况下,在VBE中输入语句后,VBE将自动进行语法检查,如果发现语法错误,将打开一个提示对话框。
6.1.1 自动格式化输入VBA语句后,VBE将按一定的规则进行简单的格式化处理。
如将关键字的首字母大写,在运算符前后加入空格,删除各部分多余的空格等。
在输入VBA关键字时,可以不区分大小写。
例如输入MsgBox时,无论输入的是Msgbox,msgbox,还是MSGBOX,当输入完该函数的参数并按回车键后,VBE都自动将其变为MsgBox。
为了提高程序的可读性,VBA代码中应加上适当的空格。
当按回车键完成语句的输入后,各关键字之间无论插入多少空格,VBE都将其自动调整为一个空格。
例如输入以下代码(在关键字“Selection”与“Borders”之间插入了多个空格,在“=”与“xlNone”之间无空格):Selection.Borders (xlDigaonalDown).LineStyle =xlNone输入完语句并按回车键后,VBE将其自动格式化以下格式:Selection.Borders(xlDigaonalDown).LineStyle =xlNone在“=”前后各插入一个空格,同时其他关键字之间的空格被自动删除。
注意:不能在关键字的中间加入空格。
6.1.2 复合语句与语句断行一般情况下,要求程序中每个语句占一行。
但在VBA中,也可以把几个语句放在一行中构成复合语句。
各语句之间用冒号(:)分隔,例如:Selection.Font.Bold = True: Selection.Font.Size = 20与以下两行语句功能相同:Selection.Font.Bold = TrueSelection.Font.Size = 20在VBE的代码窗口中,每行VBA代码可包含1023个字符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【VBA教材】38.常用语句透析(十二)
【VBA教材】38.常用语句透析(十二)
贡献者:罗刚君 日期:2009-10-14 阅读:1542
相关标签:pub2007 VBA
Select Case语句也是条件语句之一,而且是功能最强大的条件语句。它主要用于多条件判断,而且其条件设置灵活、方便,
在工作中使用频率极高。本节介绍Select Case语句的语法及应用案例.
Select Case语句的语法如下:
Select Case testexpression
[Case expressionlist-n
[statements-n]] ...
[Case Else
[elsestatements]]
End Select
Select Case语句包括四部分,每部分详细含义如表38-1所示。
表38-1 Select Case语句各部分含义
部 分 描 述
testexpression
必要参数。任何数值表达式或字符串表达式
expressionlist-n
如果有 Case 出现,则为必要参数。其形式为 expression,expression To expression,Is
comparisonoperator。expression的一个或多个组成的分界列表。To 关键字可用来指定一
个数值范围。如果使用 To 关键字,则较小的数值要出现在 To 之前。使用 Is 关键字时,
则可以配合比较运算符(除 Is 和 Like 之外)来指定一个数值范围。如果没有提供,则 Is
关键字会被自动插入
statements-n
可选参数。一条或多条语句,当testexpression匹配expressionlist-n中的任何部分时执行
elsestatements
可选参数。一条或多条语句,当testexpression不匹配Case子句的任何部分时执行
在以上语法列表中,省略号代表可以使用多个条件。只要有一个Case就需要有一个statements-n,表示条件及符合条件时的
执行条件。
其中elsestatements表示不符合指定条件时的执行语句,是可选参数。可以忽略elsestatements,也可以执行一条或者一组语
句,为了让程序能够处理一些不可预见的情况,尽量使用elsestatements语句处理不符合条件时该如何回应。
在Select Case的多个参数中,最复杂的是expressionlist-n部分,它有多种表达形式,包括:
Expression——直接声明一个条件值,例如5
expression To expression——声明一个条件的范围,例如5-10
Is comparisonoperator——声明一种比较方式,例如is >5
下面的实例可以展示参数中expressionlist-n部分的多种表达形式。
实例1:多条件时间判断
根据当前的时间判断是上午、中午,还是下午、晚上、午夜。
要求中条件比较多,使IF…Then…需要多层嵌套,而Select Case语句会更简单。代码如下:
___________________________________________________
Sub 时间()
Dim Tim As Byte, msg As String
Tim = Hour(Now)
Select Case Tim
Case 1 To 11
msg = "上午"
Case 12
msg = "中午"
Case 13 To 16
msg = "下午"
Case 17 To 20
msg = "晚上"
Case 23, 24
msg = "午夜"
End Select
MsgBox "现在是:" & msg
End Sub
__________________________________________
以上代码中,“Case 1 To 11”表示当前时间在1点到11点,用于限定一个范围;“Case 12”是表示当前时间为12点时返
回True,可用于限制一个具体的值,或者多个值。如果需要罗列多个具体的值,那么需要在每个值之间使用逗号分隔,例
如“Case 23, 24”。
本例中不存在例外的情况,所以忽略“Case Else”语句。
实例2:根据成绩返回评语
如果成绩小于60则返回“不及格”,60到80之间则返回“良”,80到99则返回“优”,100分则返回“满分”,如果成
绩大于100则是输入了错误值。利用一个Function过程来处理,其代码如下:
________________________________________
Function 成绩(rng As Range)
Select Case rng
Case Is < 0, Is > 100
成绩 = "输入错误"
Case Is < 60
成绩 = "不及格"
Case 60
成绩 = "及格"
Case 60 To 80
成绩 = "良"
Case 81 To 99
成绩 = "优"
Case Else
成绩 = "满分"
End Select
End Function
_____________________________________
以上代码中,Is关键词用于指定一种比较方式,后接Is和Like以外的比较运算符。本例中需要限制小于0和大于100两个
条件,那么Is关键词可以同行中使用两次,中间用逗号分隔,表示罗列两个条件。
“Case Is < 60”语句在第一个条件“Case Is < 0, Is > 100”基础上再进行比较,那么成绩“-10”将不符合“<60”这个条
件,因为 Select Case在处理多条件时,总是按从上到下的顺序处理。如果改变本例的条件顺序,可能产生不同的运算结
果。
“Case Else”语句表示如果不符合前面的所有条件,则执行它后面的语句,本例中表示成绩为100时返回“满分”。
在工作表中使用该自定义函数后,结果如图38.1所示。
图38.1 利用Function返回成绩评语
实例3:以指定格式显示星期
现要求在状态栏显示今日星期,以三种方式供用户选择。具体代码如下:
Sub 在状态栏显示今日是星期几()
Dim str As String
star:
Select Case InputBox("请指定日期显示方式: " & Chr(10) & "1:周一样式" & Chr(10) _
& "2:星期一样式" & Chr(10) & "3:英文", "日期显示方式", 1)
Case 1
str = "AAA"
Case 2
str = "AAAA"
Case 3
str = "DDDD"
Case Else
MsgBox "录入错误,请重新录入"
GoTo star
End Select
Application.StatusBar = Format(Date, str)
End Sub
________________________________________
本例是“Select Case”对象不确定的实例,它在执行后由用户手动指定对象。
在Select Case语句中,利用Case限制了三个条件,分别为手动录入1、2和3时的日期显示格式。但用户可能会误输入1到
3范围以外的数值,使程序产生错误,那么利用Case Else语句来限制,且返回到InputBox语句处让用户重新录入,直到数
值处于要求的范围内为止,这是最理想的处理方式。
实例4:Select Case嵌套应用计算时间
和IF…Then…一样,Select Case也可以多层嵌套。本例根据现在的时间判断是白天还是晚上,如果是白天,再进行细分
“上午”、“正午”和“下午”。详细代码如下:
________________________________________
Sub 时间2()
tim = Hour(Now) '获取现在的时间
Select Case tim '条件语句开始,第一层
Case 8 To 18
'如果是白天
Select Case tim '嵌套使用,第二层
Case Is < 12 '如果小于12
MsgBox "上午"
Case 12
'如果等于12
MsgBox "正午"
Case Else
'其他情况,表示13到18之间
MsgBox "下午"
End Select
'结束层条件语句
Case Else
'其他情况,外层
MsgBox "晚上"
'表示1到8之间或19到24之间
End Select
End Sub
_____________________________________
在Select Case语句第一个条件中嵌套了一个Select Case条件语句。根据需要,还可以嵌套多层条件语句。