小白笔记4---EXCEL VBA(1)

泄露秘密 提交于 2020-01-08 10:45:25

1.打开VBA窗口

打开Excel-->文件(file)-->选项(options)-->自定义功能区(customize ribbon)-->主选项卡(main tabs)下-->开发工具(developer) -----勾选

返回主界面 菜单栏选择开发工具(developer)--->visual basic(或者使用快捷键alt+f11)

打开编写界面后,点击插入(insert)-->模块(module)--->可以开始编写VBA

2.VBA简单语法

2.1建立过程

标格式 Sub name()

           ......(内容)

          End Sub

 name表示名称,自行拟定即可,后面的括号不能丢, 书写时可以不需要切换大小写,换行后会格式会自动规整

2.2 变量定义

标准格式   Dim variable_name As data_type

Dim ...As...不可更改;variable_name为定义的变量名称,可自定义;data_type为定义变量的数据类型,有明确的类型,非自定义,包括String,integer,double,single,date,boolean,Variant等

定义一个整型: Dim variable_name As integer

定义一个浮点型:Dim variable_name As single //单浮点    ;Dim variable_name As double   //双精度浮点

定义一个字符串: Dim variable_name As String   

定义一个数组: Dim array1(10) As String  //10表示数据长度,默认从1开始,数据类型可以改变

                        Dim array1(20 to 30) As String   //20 to 30 为索引范围

        Dim array1() As String   //当不确定数组长度时可以使用

                       Dim array1(4,5) As String  //二维数组

变量赋值: 变量名 = 值 即可,如果是string类型,赋值时需要加上双引号.

2.3简单语句

输出语句:输出在控制台上,并非Excel中: debug.print 变量    //变量可以是变量名,也可以是数值,也可以是字符串,字符串需要用双引号.

IF语句:标准格式:  if 条件 then        /if,then都属于关键字不可更改,条件语句例如x>10,(如果是等于使用一个等号表示即可.)

                               执行语句

                            else                      //在else语句之前,可继续添加条件,使用语句 else if 条件 then即可

                              执行语句

                           end if                  //if语句结束标志

CASE语句:标准格式:select case  测试表达式             //如果需要判断分数处于的等级,那么这里分数就是测试表达式

                                           case 表达式1                  //表达式可以是判断语句(例如a>b);表达式后没有冒号

                 执行语句1

                                          case 表达式2

                 执行语句2

             case 表达式3

                           执行语句3

            ...                                 //可以有很多个这样的case语句,最后一个可以使用case else来代替.

         end select                        //case语句结束标志

FOR语句:标准格式1:  for 变量 = 起始值 to 结束值                 //例如  for i= 1 to 10 ,i可以不使用dim定义, 类似于语句for(i=1;i<10;i++) 

                                      执行循环语句                                //可以是多条语句

                                   next                                                    //for循环结束标志

               标准格式2:  for 变量 = 起始值 to 结束值 step 步长                 //例如  for i= 1 to 10 step 2,类似于语句for(i=1;i<10;i=i+2) 

                                      执行循环语句                                //可以是多条语句

                                   next                                                    //for循环结束标志

      标准格式3: for each name0 in array1     //name0类似于for后面的变量名,array1是一个已经定义且有值的数组

                      执行循环语句

           next                                  //该语句常用于遍历数组

WHILE语句:标准格式:while 判断语句                               //满足该语句执行下面的语句

                                         执行语句

                                   wend                                           //while 循环结束标志

LOOP语句:标准格式1:do while/until  判断语句             //while是满足条件执行下面语句,until是直到条件成立时停止.

                                        执行语句

            loop                                        //结束

                 标准格式2:do            

                                        执行语句                                    //先执行一次语句(标准1 和标准2类似于while语句和do while 语句的差别)

            loop   while/until  判断语句                //while是满足条件执行下面语句,until是直到条件成立时停止.

2.4对象

工作表 worksheet :标志格式: dim name as worksheet   //name名字在以后引用该工作表时就在此时确定了

                                              set name = worksheets("工作表名称")  //name与上面定义的必须一致

单元格range :通常使用worksheet_object.Range()来引用。

                      标准格式:Dim name1 as Range         //name1为定义的单元格名称

                      调用:  set name1 = name.Range("A1:A5")   //name为定义为worksheet的名称,Range中可以为单独一个单元格,也可以为一个范围,如果选择多个不连续区域,可以使用逗号隔开("A1:A5,D3:D9")

                      再对单元格操作时,可以使用 name.xxx(功能很多,可自行探索)

单元格内容cells:标准格式: name.cells(a,b)  //name为定义的工作表名称,a表示行,b表示列.

                     如果要写单元格,可以直接赋值例如:name.cells(1,2) = 3

2.5方法(函数)

标准格式:function function_name(参数1,参数2...) as 数据类型      //参数需要加上参数类型,结构为 参数1 as 数据类型; 最后的数据类型为函数的返回值类型

              例如: function sum1(num1 as integer,num2 as integer) as integer    

             方法(函数)可以在过程中(sub...end sub)调用

参数,有可选参数和必选参数,两者如果同时存在,必选参数必须放在参数表的前面

      可选 标准格式:Optional parameter_name As data_type   //可以直接赋值,也可以不赋值,如果直接赋值,在未传参的情况下默认为该值,否则为空.

      必选 标准格式: parameter_name As data_type

3.Excel创建宏

为方便直接使用VBA创建的代码,不用每次进入界面选择运行,可以使用宏来实现

可以任意在Excel中插入一个图形,右键点击图形,选择指定宏(assign macro),在弹出的框中选择你需要的,确定即可.当使用时,点击图形即可完成代码运行

还有一种方法可以尝试:在开发工具(developer)选项中选择插入(insert),选择控件

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!