VBA技巧29 防止更改工作表的名称
在vba代码中引用excel工作表中单元格区域的方式小结
-----------------publicfunctionlastusedrowaslonglastusedrow=cells.specialcells(xlcelltypelastcell).rowendfunction使用这里介绍的两种技术时,您一定要清楚工作表当前的状态,以找到正确的最后一行。
------------------使用currentregion属性
currentregion属性返回代表单元格所在的当前区域,即四周有空行的独立区域,因此,可使用此属性查找当前区域的最后一行。但是使用其查找最后一行的一个缺点是,必须首先选取当前区域,然后进行查找。
------------------小结
正如开始所讲述的一样,使用各种方法来查找最后一行都有其优缺点,并且都能找到您想要的最后一行,关键是您要了解各种方法的特性,以及工作表的状态,以便于选择所使用的方法来找到您需要的最后一行。
上述内容可能有不准确的地方,也可能有遗漏之处,您也可以在调试中体会和改进。
使用visualbasic的普通任务是指定单元格或单元格区域,然后对该单元格或单元格区域进行一些操作,如输入公式或更改格式。
通常用一条语句就能完成操作,该语句可标识单元格,还可更改某个属性或应用某个方法。
在visualbasic中,range对象既可表示单个单元格,也可表示单元格区域。下列主题说明了标识和处理range对象最常用的方法。
用a1样式记号引用单元格和单元格区域
可使用range属性来引用a1引用样式中的单元格或单元格区域。下述子程序将单元格区域a1:d5的字体设置为加粗。
subformatrangeworkbooks("book1").sheets("sheet1").range("a1:d5")_.font.bold=trueendsub
下表演示了使用range属性的一些a1样式引用。
引用
含义
range("a1")单元格a1
range("a1:b5")从单元格a1到单元格b5的区域
range("c5:d9,g9:h16")多块选定区域
range("a:a")a列
range("1:1")第一行
range("a:c")从a列到c列的区域
range("1:5")从第一行到第五行的区域
range("1:1,3:3,8:8")第
1、3和8行
range("a:a,c:c,f:f")a、c和f列
用编号引用单元格
通过使用行列编号,可用cells属性来引用单个单元格。该属性返回代表单个单元格的range对象。下例中,cells(6,1)返回sheet1上的单元格a6,然后将value属性设置为10。subentervalueworksheets("sheet1").cells(6,1).value=10endsub因为可用变量替代编号,所以cells属性非常适合于在单元格区域中循环,如下例所示。
subcyclethroughdimcounterasintegerforcounter=1to20worksheets("sheet1").cells(counter,3).value=counternextcounterendsub注意如果要同时更改某一单元格区域中所有单元格的属性或对其应用方法,可使用range属性。有关详细信息,请参阅用a1样式记号引用单元格。
引用行和列
(未完,全文共13181字,当前显示1431字)
(请认真阅读下面的提示信息)