博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VBA基本语言结构
阅读量:5024 次
发布时间:2019-06-12

本文共 2364 字,大约阅读时间需要 7 分钟。

几个语句

If…then语句

If A then B:如果A判断条件成立,则执行B语句;

Eg:if time >0.5 then msgbox”下午好”

“time>0.5”:time函数返回当前时间,大于0.5指现在是12点后,即显示下午好。

也有if A then B else C:如果判断条件A成立,则执行B语句,如果A不成立,则执行C语句。(个人注意,不能像C语言那样回车跳行,整句语句需在同一行,如果需要跳行,则需要在最后加上endif )

Eg:

If time >0.5then

 Msgbox”下午好”

Else

 Msgbox”早上好”

End if

同时,此语句也有elseif的情况。就是多重条件。

Eg:

If time<0.5 then

 Msgbox”早上好”

Elseif time <0.75

 Msgbox”下午好”

Else

 Msgbox”晚上好”

Endif

   

Select…case语句

在判断或者选择条件较多时,使用if…then语句就比较麻烦,这是可以使用select…case语句。和C语言中的相近。

Eg:

Select case time     ‘select case 后面跟判断表达式,可数值表达式,字符串表达式

 Case is<0.5       ‘case后跟表达式列表,用来判断的值,可以使to或者is,如case 1 to 5,表示case 1,2,3,4,5.

 Msgbox”早上好”

 Case 0.5 to 0.75

 Msgbox”下午好”

 case else

 msgbox”晚上好”

end select

实例,利用select   case语句写一个分数判断程序,判断所给分数是否及格或者优良。

 

如上。

 

For … next 语句

此语句用于循环。比如在需处理的数据有很多行时,我们不能为每一行都写一句代码。多用在不同对象的选择引用上。

格式:

For <</span>循环变量>=<</span>初值> to <</span>终值> [step步长,默认为1]

   <</span>循环体>

   [exit for]   ‘跳出循环触发语句,执行next后的语句

   [循环体]   

Next [循环变量,变量名可省略]

 

Eg:将1到100中的奇数按顺序放入表单中的A列。

首先分析需要怎么把奇数调出来:1开始,按顺序加上2就行。一个循环。

然后是放入单元格,需要按顺序,所以要单独对单元格引用定义。1开始,每次循环加上1.

 

结果:

我另外试了下,cells函数选择单元格也可以横向,将其中的列参数换为变量即可:

注意数值变量就不用打引号了。

Do while 语句

条件语句,格式:

Do [while 逻辑表达式]   

   <</span>循环体>

   [exit do]  ‘跳出循环,执行loop后的语句

   [循环体]

   [循环体]

Loop     ‘do while语句结束标志,返回do语句处,再次判断循环条件

 

也可以在结尾判断,即:

Do 

   <</span>循环体>

   [exit do]     

Loop [while 逻辑表达式]

  一个是先判断后执行,一个是先执行,后判断。注意,这两个不同,在如判断条件为数值时,注意取值大小。

 

Dountil语句

和do while语句相似,格式:

Do [until 逻辑表达式]    ‘当条件满足时,退出,直到型

 <</span>循环体>

 [exit do]

Loop

另一种结尾判断式:

Do

 <</span>循环体>

 [exit do]

Loop [until 逻辑表达式]   ‘当条件满足时,退出

似乎和C语言有些不一样,不过分开记就行。

Eg:

其他几个函数相近,自行练习。或者这样:Loop Until Cells(i, "A") = ""

 

For each…next语句

一个循环语句,用于在某一集合内部选择对象的语句,

格式:

For each 元素变量 in 集合名称或数组名称

   <</span>语句块>

   [exit for]

Next [元素变量]

 

这里需要注意,我们是将集合或数组中的元素变量进行选择,因此在提前定义元素变量时,需要定义类型和集合或数组一致。

Eg:下面的代码会在数组的每个元素中循环,并且将每个值设置成它的索引变量 I的值。(来自百度)

 

DimTestArray(10) As Integer, I As Variant

For Each I InTestArray

    TestArray(I) = I

Next I

 

Goto语句

用于直接跳转指定位置的语句,和C语言的相近。在VBA中,指定位置可以在目标代码所在行前加上一个带冒号的字符串或不带冒号的数字作为标签,然后在goto的后面写上标签。

Eg:

Dim sum as long,Ias integer

i=1

x:sum=sum+i

i=i+1

if i<=100then goto x

msgbox”1到100的和为:”&sum

利用goto语句达到循环,其中“x”即为跳转位置标识。不过一样,为了日后维护方便,不建议多用。

 

With语句

With语句的作用是,在处理同一对象的不同属性时,可以简化代码。

Eg:对某一单元格进行格式设置:

With worksheets(“sheet1”).range(“A1”).font

  .name=”仿宋”    ‘前面的小点不要忘了

  .size=12

  .bold=true

  .colorindex=3

End with

 

此过程用来设置sheet1表单中A1单元格的格式,字体为仿宋,大小为12,加粗选择true,颜色代码为3.注意每个设置选项前有小点。

转载于:https://www.cnblogs.com/rhongp/p/6383764.html

你可能感兴趣的文章
根据百度API获得经纬度,然后根据经纬度在获得城市信息
查看>>
强制客户端更新Silverlight XAP文件方法汇总(转)
查看>>
Android tabLayout+recyclerView实现锚点定位
查看>>
numpy.squeeze()的用法
查看>>
数字滤波器 C语言
查看>>
JAVA基础知识 String s = new String("ABC") VS String s = "abc"
查看>>
mysql 数据库,表存储 大小
查看>>
将博客搬至CSDN
查看>>
Spring AOP编程
查看>>
2017.2.18[codevs3311][bzoj3668]NOI2014D1T1起床困难综合症
查看>>
MySQL表的四种分区类型
查看>>
最全的分区类型及详解
查看>>
Python 类中__init__()方法中的形参与如何修改类中属性的值
查看>>
9.1.3 前端 - HTML body标签 - 文本样式
查看>>
ACID属性
查看>>
cnpm不是内部命令的解决方案:配置环境变量
查看>>
7系列FPGA远程更新方案-QuickBoot(转)
查看>>
导出帐号和权限脚本
查看>>
markdown公式编辑参考
查看>>
利用运行时给模型赋值
查看>>