VBA基础(2)

VBA基础(2)

这里的Return会返回到GoSub位置。

GoToGoSub

区别在于,Gusub语句可以带有   Return,而GOTO不能带。
当执行Gusub ......  Return 语句,执行到Return 将返回到Gusub的下面一行代码。

==错误分支语句

当错误的时候忽略错误的情况:

VBA基础(2)

On Error Resume Next:这句代码让下面的For循环过程中出现错误的情况下继续下一次的For循环。 比如i=3的时候,Cells( 3,3) 是一个字符串,那么此时做加法运算的时候就会出错,有了On Error Resume Next后,For循环就会跳过这次错误的情况继续执行。

当错误的时候跳转:


 ==With语句

VBA基础(2)

VBA基础(2)

Range(“a1”).Parent.Name是指a1单元格的上一级的名称,即其所在工作表的名称。

“with嵌套2()”:两个with相当于:Range(“a1”).Font.Size = 20;Range(“a1”).Font.Bold  = true;

==VBA与公式

普通公式:


VBA基础(2)

l  VBA中的做法:这个只是将结果填入C列,而不生成公式;

l  想生成公式的话可以使用“普通公式”这个方式(注意公式的表达方式);

l  批量计算”是生成公式的批量计算示例示例(注意公式的表达方式)。

==数组公式:

手工操作:

VBA基础(2)

如图,将C列和D列的和放入E列的手动计算方法:

(1)       第一步:从上到下选中E列:

VBA基础(2)

(2)       敲一个等号:

VBA基础(2)

(3)       选中C列:

VBA基础(2)

(4)       输入一个加号:、

VBA基础(2)

(5)       再选中D列:

VBA基础(2)

(6)       同时敲Ctrl+Shift+回车:

VBA基础(2)

VBA操作:

注意VBA使用数组公式的时候要加上单词:FormulaArray

==  VBA与函数

手工使用函数求和:



VBA基础(2)

VBA基础(2)

回车后就可以得到和了。

使用VBA求和:

VBA基础(2)

注解:

l  i=1时,Sheet1.Cells( 1,4 ) =  “=sum(a1:c1)”    ‘a1单元格+c1单元格的和;

l  &符号两边注意要有空格。

COUNTIF(A1:A10, “>9”):计算A1单元格到A10单元格中大于9的个数;

公式里有引号,但是外面还有引号,可以在内部引号前再加一个引号。

 

sum( INDIRECT( “a1:a10” ) )   ‘a1a10单元格所有数值的和。

VBA借用工作表函数:

VBA基础(2)

这三个写法本质是一样的,就是不同的写法而已。第一种是完整的写法,第三种是简写。

使用VBA自己的函数:

VBA基础(2)

——将b1单元格内容转换成后面的日期的格式。

使用VBA加点可以得到提示。。。

 

使用自定义函数:

l  一些需要特定功能的函数就需要自己定义了;

l  自定义函数写好后,可以像工作表函数一样使用它。

从身份证号的第15位开始取,取三位,对2求余,若是1则是男;0则为女。

==VBA与运算符

VBA基础(2)

注意#号要用引号括起来。

VBA基础(2)

注意:只能用一个字符去匹配中括号中的内容;而且注意要使用引号。

 

其他:

l  例:a = “f” Like “[!abc]”          ‘判断除了中括号里意外的字符是否包含f

l  例:

VBA基础(2)

l  例:

VBA基础(2)


你可能感兴趣的:(VBA基础(2))