第五讲:带你入门VBA

excel2003

2003vba

第一期: 初步了解VBA www.wendangwang.com

第二期:进阶操作VBA www.wendangwang.com

第三期:编制简单的自定义函数 www.wendangwang.com 第四期:如何控制工作薄和工作表 www.wendangwang.com 第五期:如何控制单元格 www.wendangwang.com

在VBA中,单元格常用的表示方法有两种:

一种是RANGE。如A1的表示方法是Range("a1"),A1:100的表法方法是: Range("A1:A100") 和以前一样,大家先在工作表中插入一个矩形作为执行宏的按纽,在按纽上单击右键,单击指定宏,再单击新建,在VBE窗口中的代码窗口输入Range("a1")=1000

Sub 矩形1_单击()

Range("a1")=1000 ’A1单元格的值为1000

Range("a1:a10")=1000 ’A1:A10的连续区域(10个单元格)的值都为1000

Range("b1:b10,c1:c10,e1:e10") = 1000 ’b1:b10,c1:c10,e1:e10的不连续区域(30个单元格)的值都为1000

End Sub

补充:Range可以代表一个单元格区域,也可以代表一个单元格。

Range("A1")表示工作表中的A1单元格;

Range("区域的左上角单元格:区域的右下角单元格")。表示一个连续区域;

Range("单元格区域1,单元格区域2.....") 表示不连续的单元格多个区域。

[A1]是Range("A1")的简写.二者在用法上没有什么区别,但在输入时有点不同,如当你输入

[A1]后加点时,后面不会出现属性和方法列表,而输入Range("A1")加点后则会出现属性列表供你选取

Union是求多个单元格区域的并集,用法是Union(单元格区域1,单元格区域2.....) 它返回的是所有区域的所有单元格集合

请运行下面的一句:Application.Intersect(Range("a1:a10"), Range("a3:c4")).Select

这一句的意思是选中区域A1:A10 和 A3:C4重叠的区域,即两个区域共有的区域,此名代码运行的结果是选中区域A3:A4

Select,它是单元格被选取的意思。在我们录制宏时,会出现大量的select,其实在程序中多数Select是多余的,它影响速度又会影响程序的运行。

如:Range("C16").Select ActiveCell.FormulaR1C1 = "100" Range("C11").Select

其实我只是在C16单元格中填入数值100,就会出现这么一大堆代码,这此代码可以优化为:Range("C16").="100"

注意Intersect 方法是一个非常实用的一个方法,比如我们在动态选取工作表Sheet1A列中已存在数据的区域时,就会用到它。在介绍这个用法前还要介绍一下另一个工作表中非常实用的属性:Usedrange

你可以选试着运行一下:Activecell.usedrange.Select

运行Activecell.usedrange.Select你会发现,在当前工作表中的所有用过的区域全被选中了。你明白了吗,其实usedrange就是工作表中所有已存在内容的矩形区域,为什么不说是存在内容的单元格呢?原因是比如你在一个空工作表中的B3和C5单元格任意输入一个数值,运行Activecell.usedrange.Select后选取的不只是B3和C5单元格,而是B3:C5单元格区域

第五讲:带你入门VBA的相关文档搜索

第五讲:带你入门VBA相关文档

最新文档

返回顶部