《单元格在VBA的表示方法.doc
文本预览下载声明
单元格在VBA的表示方法:
1、Range(单元格地址)?? 如Range(a1)?? 即为A1单元格
2、CELLS(行,列)?? 如CELLS(1,1)也为A1单元格,CELLS(2,1)为 A2单元格
工作表在VBA中表示方法:sheets(工作表名)
每个函数前都要加Application.WorksheetFunction.?
答:如果是单个调用必须加
如果是多个调用就可以用WITH语句省去后面的
如Sub 矩形1_单击()Dim i As IntegerFor i = 1 To 20Sheets(sheet1).Cells(i, 1) = iNextWith Application.WorksheetFunctionRange(a21).Value = .Sum(Range(a1:a20))??????????注意SUM前面要有个点才行Range(a22).Value = .Average(Range(a1:a20))End WithEnd Sub
COLUMN是指列,COLUMNS是指列的集合
ROW是表示行,ROWS是行的集合
如果用Sheets(sheet1).columns.select?? 会选定所有列即整个工作表
SUB 语句,需要有个事件触发它,才能执行,就比如一个箱子,只有去搬、推等外力施加与它时,它才会动。设置个按纽目的就是为了执行SUB语句
Range(A1:A22).ClearContents该语句是清除内容的语句
Private 的中文意思是私有的,Private Sub中的程序只能在本程序内部运行而不能被其他程序调用,而SUB语句则可以
如:
SUB BB()
END SUB
SUB AA()
?? BB??????????
END SUB
Range(B65536).End(xlUp).Row
是指B列最后一个非空单元格,END(XLUP)是向上数第一个非空单元格,为了准备找到最下面的非空单元格,当然要从RANGE(B65536)开始向上找了
MSGBOX 有时带()
比如AAA=MSGBOX()
这种情况下可以取到用户点击对话框按纽的返回值,以确定下一步该怎么做
而不带括号只是提示的作用,不能取得返回的值
如MSGBOX
以下是引用playgirl在2004-10-5 15:18:00的发言:
那为为什么要用K=K+1。
如果向下数第一个非空单元格就是range(b1).end(xldown).row
向左数第一个非空单元格:range(iv1).end(xlleft).column
向右数第一个非空单元格:range(a1).end(xlright).column
是这样吗?谢谢!
向右是End(xltoright)??向左End(xltoleft)
K=K+1是在原来的基础加1
如选取Sheet1第一行有内容单元格区域(假设A1不为空):
sheets(sheet1).range(a1,range(a1).end(xltoright)).select
选取B列有内容单元格区域:(假设B1不为空):
sheets(sheet1).range(B1,range(B65536).end(XLUP)).select
以下是引用老荷才露在2004-10-5 16:30:00的发言:
a = Application.WorksheetFunction.CountIf(Range(b:b), 106)If a 1 ThenMsgBox 大于106的数有 a 个, 1最后这个,1 怎么解释;a 这个变量是不是省略了dim的声明,不声明也行吗?
兰老师的最后一句中的 1+64,怎么解释
其实这个程序是加了个判断,如果统计的结果有106的值(即A1)就显示提示对话框,否则就不显示,
1+64参考下面的贴子:
/dispbbs.asp?boardid=5star=13replyid=297359id=62008skin=0page=1
变量在程序中如果事先约定,就必须声明,如果没有约定,就根据实际情况而定,一般来说声明最好,这样可以减少运行程序所占用的内存.
注:约定:相关图片如下(VBE编辑器工具选项)
此主题相关图片如下:
Function panduan(aa As Range)????????If aa.Value 0 Thenpanduan = 大于零ElseIf aa.Value = 0 Thenpanduan = 等于零Elsepanduan = 小于零End IfEnd Function
Function panduan(aa As Range)??????panduan即是
显示全部