您的位置:首页 > 编程语言 > VB

几个Excel自动阅卷的VBA(1)

2006-03-13 15:52 465 查看
边学边用~没有系统的VBA知识,算法肯定不是最好的!不过VBA总得来说还是比较简单的。
发几个VBA的应用,主要是Excel练习的自动阅卷,也算是总结吧。

1、判断单元格数据

Rang("A2") = "2005年全年销售量统计表"
Range里面的就是单元格地址,也可以用Cells(2,1)来表示A2单元格
对日期也可以这样: Range("A2") = "1980-12-10"
对于数字,最好是这样: Range("A2").Value = 9875
此外Range集合也可以配合Formula属性,判断单元格内容。比如对于上面的例子,下面这几行效果是一样的:
Range("A2").Formula = "1980-12-10"
Range("A2").FormulaR1C1 = "1980-12-10"

2、判断工作表是否存在,或者重命名是否正确

For Each ws In Worksheets
If Left(ws.Name, 5) = "blank" Then msg(1) = “存在工作表Blank”
Next
这个可以扫描所有的工作表,并且工作表名称前5个字符是blank的都会判断存在blank工作表

如果是单个调用工作表函数,则必须加上Application.WorksheetFunction.
比如,以下可以求出当前工作表A1:A9区域内的平均数
Application.WorksheetFunction.Average(Range("A1:A9"))

如果是多个调用,则可以用with开域语句省去后面的(不知道是不是叫开域


With Application.WorksheetFunction
Range("A10").Value = .Sum(Range("A1:A9"))
Range("B10").Value = .Average(Range("A1:A9"))
end With
要注意的是函数前面有一个点!可以这样理解:点是属性值,虽然开域了,但还是要保持完整。

3、MsgBox

MsgBox “asdf”可以弹出一个提示对话框,但是如果带括号还可以返回值:
比如a=MsgBox ("asdf"[,buttons][,title][,helpfile,context]) 可以返回一个值,以便确定下一步怎么做
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: