百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

Excel高级教程:VBA Select Case语句用法与案例教程

xsobi 2025-04-26 22:14 7 浏览

当需要依次检测一个表达式的多个值,并根据每个值来执行不同的操作时,Select Case可以提供更清晰的结构。下面我们一起来看看VBA Select Case语句用法与案例教程吧。

Select Case结构的格式如下:

案例1:使用Select Case结构处理多个条件

如果在每个Case下面只执行一条语句,为了使代码结构更紧凑,可以将执行的语句与Case语句合并为一行,两个语句之间使用分号分隔,如下所示:

Select Case结构中的每个Case语句都可以对多个值进行检测,各个值之间以逗号分隔。

案例2:验证Excel程序版本号

下面的代码检测当前Excel程序的版本,如果是Excel 2007/2010/2013/2016,则显示“Excel 2003之后的版本”的提示信息,如果是Excel 2003或更早版本,则显示“Excel 2003或更早版本”的提示信息。本例中用到了Excel对象模型中的Application对象,它代表Excel程序本身。Version是Application对象的一个属性,Application.Version表示Excel程序的版本号。

还可以在Case语句中使用To关键字表示要检测的值的范围,或者使用Is关键字与指定的值进行比较。

案例3:计算折扣率

下面的代码首先检测用户输入的内容是否是数字,如果不是则会显示一条提示信息,然后自动退出当前程序。Exit Sub语句用于在满足条件时退出当前Sub过程。如果输入的是数字,则会使用Select Case结构检测该数字的大小,并返回其所在数值范围内对应的折扣率。在Case语句中使用了Is和To关键字来指定不同的数值范围。

Select Case结构也可以嵌套使用,即在一个Select Case结构中包含另一个Select Case结构。

案例4:查询商品定价

下面的代码可以实现根据用户输入的食品的类别和名称来显示对应的食品定价。如果输入的内容不在指定范围内,则会显示“输入的内容无效”的提示信息。本例使用了嵌套的Select Case结构,外层的Select Case结构用于查找食品的类别,内层的Select Case结构用于查找具体的食品名称,每个Case语句返回相应食品的定价,最后使用MsgBox函数在对话框中显示找到的食品的名称和定价。

点击关注我们不迷路!


Excel秘籍大全全球极具影响力的华语Excel资源网站,拥有大量原创技术文章、模板及Excel教程,并提供Excel免费在线培训,Excel学习资源免费下载,数百万会员在技术论坛参与学习交流33篇原创内容

公众号

相关推荐

不要过度使用列表(List): C# 数据结构

编程中的每一个决定都会对性能和清晰度产生无声的影响。在C#中,这样重要的选择之一就是选择正确的数据结构。数据结构是基础支柱。这些结构是数据生存、呼吸和交互的地方,决定了代码的效率和可读性。但...

Power Query中使用List.Accumulate函数做分组操作

在Excel中对于分数评级,最简单快捷的办法就是用VLOOKUP函数了,评级的条件可以使用做好的评级表格,也可以直接用数组写在公式内部。或者这样:在PowerQuery中我们用什么办法才能做到这样的...

C#夯实基础-Lambda在List中的使用

在C#中基本类型比如List,Dictionary,数组等都有委托来实现相关的操作。此时Lambda表达式就可以使用了.实例1,查找字符串List的包含a的元素代码//字符串型的listList&...

JAVA中ArrayList、LinkedList及CopyOnWriteArrayList实现原理

ArrayList,LinkedList的存储性能和特性?1、是否保证线程安全:ArrayList和LinkedList都不保证线程安全,如果要线程安全用CopyOnWriteArrayLis...

js将list转化为tree格式的几种写法

最近在考虑一个树状结构存储。最终需要将list转化为tree格式源数据示例源数据共401条[{"menuId":"5f50c5fb8f0d74536bbfb7a4"...

列表框(List Box)之应用实例(列表框方法)

【分享成果,随喜正能量】人生是需要等候的,等候一阵风的拂过,等候一朵花的盛开,等候伊人的到来,等候生命爆发的强音。心灵是需要在等候中坚守的,坚守无风的日月,坚守落花的寂寞,坚守情感的空白,坚守生活的平...

不会用list的程序员不是好程序员,C++标准容器list类实例详解

C++中的list(列表)是顺序容器,其中存储的元素并不是内存连续的,这一点和上一节讨论的deque是类似的。list容器类的特点稍后几节将要讨论的C++中的vector(向量)容器中的元素...

CopyOnWriteArrayList 读写分离,弱一致性

为什么会有CopyOnWriteArrayList?我们知道ArrayList和LinkedList实现的List都是非线程安全的,于是就有了Vector,它是基于ArrayList的线程安全集合,但...

Java 中List 和数组之间互相转换的方法

在Java中,List和数组之间的互相转换是非常常见的操作。以下是常用的方法及其示例代码:1.数组转List方法1:使用Arrays.asList()特点:返回的List是一个固定大小...

VBA数组进阶调用.NET ArrayList(vba function 数组参数)

之前很多文章都讲过VBA数组。但是VBA数组比较鸡肋,功能比较弱,使用起来不是很方便,需要自行封装很多数组方法,这对于新手来说很不友好。今天给大家讲讲,怎么用.Net自带的ArrayList扩展VBA...

面试官-如何实现数组和 List 之间的转换?

数组和List是Java开发中常见的两种数据结构,那么如何实现二者之间的快速转换就成了面试官常问的考点之一,下面我们我们就来从数组转List和List转数组两个方面来展开介绍一下。数组转List方法...

Java 如何在 Array 和 List 之间进行转换

概述在本文章中,我们对如何在Java中对Array和List进行转换进行一些说明和示例。这些示例通过使用CoreJava和一些第三方的转换工具,例如Guava和ApacheC...

Excel 进阶教程:ArrayList + VBA,轻松搞定复杂数据统计

在VBA(VisualBasicforApplications)中,ArrayList是一个动态数组对象,它提供了比普通VBA数组更强大的功能。ArrayList是.NETFram...

Java并发工具:CopyOnWriteArrayList

CopyOnWriteArrayList是Java中java.util.concurrent包提供的一种线程安全的List实现。它特别适用于读多写少(Read-mostly)的并发场景,...

一起来聊聊Java中的ArrayList(java arrays.aslist)

提起ArrayList相信对于java开发人员来说并不会感到陌生,甚至会有种亲切感。好像每次出去面试,多多少少都会跟它扯上点关系。所以导致网上以及各大培训机构都对其源码有着丰富的解读。但是,本篇文章并...