EXCEL笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EXCEL笔记
'
一、Worksheets("sheet1").ActiveCell.Formula = "=sum(A1:A3)"语句错误,是因为对象不支持
的属性,所以应用cells(1,4)来选定一个cell。
二、Rows(i).Hidden = True对行属性的是否自动隐藏或显示进行编辑。无内容显示的cell,
则内容默认为“”
三、Range(Cells(6, 1), Cells(7, 2))特例;不与Range(“A1:D2”)相同,通过cell来确定Range。
四、Set DRange = ActiveSheet.Cells(i, j)用set 函数来定义一个cell,然后对该单元进行属性
上的操作;
IsNumeric(DRange.V alue)用isnumeric来判断cell.value是否为数。
五、如果是对循环的尽头不确定时,可以不用for,可以用do until… loop;
判断是否为空,可以用=“”也可以用isempty(….value)
六、Application.Caption = Now
Application.OnTime Now + TimeValue("00:00:01"), "Mytime"
这句是改变excel界面的标题;使之同步时间;但必需要用模块来表示;
Application.OnTime earliesttime:=TimeValue("16:45:00"), procedure:="Mytime", schedule:=False使之失效;
七、注意用Tab键缩行,使程序清晰明了
八、NumRow = Application.Selection.Rows.Count用程序来得到所选择表的行数count。再对
选择区域进行操作(如颜色):Application.Selection.Rows(i). Interior.Color
九、Worksheets("sheet1").Cells(i, 1).Value = Worksheets("sheet1").Cells(i, 1).Value + 5对指定
的单元区直接进行简便操作,而不用增加一列,并通过公式来操作,后者麻烦。
十、对一列的引用:A:A
对一行的引用:1:1;相对引用,绝对引用$;混合引用;
十一、同样,自定义的函数必须放入模块中运行才可以;函数可以处理0到数个参数,也可以是Range对象。
range对象可以为rows,和columns; 再对行数,列数count等;
十二、创建数组公式,和其它定义的函数的的差别在于,用于数组公式的工作表函数的返回值与其他自定义函数不同,必须定义为一个Variant类型,并返回一个数组。
十三、模块是自定义的过程、函数保存的地方,也是录制的宏保存的场所。任务有二:一是保存过程和函数;二是定义模块内的私有变量或整个工程的公有变量。
十四、也可以用private和public来声明变量:前者只用在此模块内部的函数、过程才可以访问;但后者可以在其他模块中访问使用。应用dim声明的变量是私有的变量。
十五、过程也可以有变量,但一般情况不用将之用括号括起(除非用call 函数,则要将变量括起来)。但与函数不同的是,函数变量要用括号括起来,函数一定会返回一个值,只需将该值赋给函数名。如果没有赋值的话,则返回一个默认值。于是,如果不在意的返回值,可以用调用sub过程的方式来调用函数。
十六、常量命名用const,名称用大写。
十七、变量名时,应该分别dim,而不能dim i,j as long,否则i只赋到variant型。
十八、记住一些转换函数:CBool()、CByte、CCur()、CDate()、CDbl()、CDec()、CInt()、CLng()、CSng()、CStr()。
十九、VBA支持多维数组。同时也支持动态数组。例如Dim DynamicArray() as Type,但后期必须用Redim dynamicarray(size)来重新指定新的数组的大小。如果要保留数组的数值,则用关键字Preserve。
二十、type,即用该关键字来定义包含一个或多个元素的用户自定义的数据类型。Type只能在模块级使用。Erum来定义枚举类型。也只能在模块级别中出现,可以定义private 或者public类型。
二十一、变量的作用域:一个变量初始化以后,数值——0,字符串——“”;
二十二、判断一个字符串是否为空,可以使用strName=“”?来判断,也可以使用Len(strName)=0来判断。
二十三、格式化字符串为函数为:format(expression[,format]):
time,date为系统自带常量,为当前时间和当前日期,format中有“long time/date”为相应的格式。“h:m:s”或“hh:mm:ss AMPM”。其中数字格式为:##,##0.00来设定千分位和小数点等。0.00%设定百分数;<为小写,>为大写。设置时间和日期时,用#号隔开。
二十四、为提高效率,最好使用Long型数据类型作为循环变量,效率较高。
二十五、for each.next语句。如果集合至少有一个元素,那么就会进行for each块执行,针对group中第一个元素执行循环中的所有语句。
二十六、with语句,即在一个单一对象或一个用户自定义类型上执行一系列的语句。当经常使用一个对象或用户自定义类型需要进行反复引用的情况时,可用。
二十七、exit时,跳出。
Exit do ; exit for; exit function; exit property; exit sub;
二十八、用户之窗体必须被装载(load),接着显示(show)之。装载是分配内存,显示则是可视化之。对应地有,unload和hide两种。
二十九、窗体的显示模式有:模式窗体(modal)和无模式窗体(modeless)两种。前一种如msgbox,必须退出或隐藏此窗体,才可以操作非此窗体的其他界面元素,而后者是在其显示之后,不阻塞后续代码和界面元素。无模式窗体:useform1.show vbmodeless;模式窗体:useform1.show vbmodal。
三十、一个窗体三事件:activate(激活)、deactivate(不激活)、unload(销毁)。
三十一、事件响应代码有二:一双击控件;二是通过右侧之下拉菜单;
三十二、调试程序中的debug:设置debug.print i,打印输出的变量;设置debug.assert i<4 设置挂起中断点,以便查看在发生设置错误时的变量的值;
三十三、F9快捷设置断点;
三十四、集合对象就是一系列对象的集合。可创建一个可以容纳任何对象或数据变量的集合,可以动态增加、删除对象。和数组不同的是:数组不常变,而集合对象主要用于保存需要频繁增删元素。
三十五、类通过类模块,一个类模块代表一个类,其中包括属性(properties)、方法(methods——即函数和过程)、事件(events)及变量。
三十六、sheetactivate事件可以发生在工作簿级,也可以在应用程序级。Avtivate则发生在工作表级别的。
三十七、若要为嵌入图表、QueryTable对象或Application对象编写事件过程,则必须在类模块中用WithEvents关键字创建新的对象;也可以用Application的EnableEvents 属性来启用或禁用事件。
三十八、Application对象是Excel最顶端的对象,逻辑上所有的对象要用它来引用。但对于常用的ActiveSheet,Workbooks,Worksheets等对象可以不用。