VBA笔记入门篇

VBA笔记入门篇

VBA全名:  Visual  Basic  Application

准备·工作

打开VBA

打开左上角的:文件->选项 弹出如下画面,选择“自定义功能区”,勾选上“开发工具”,点击确定。Excel的头上就会多出一个选项卡:开发工具。

 

 

另一种打开方式:

在excel头部的任意一个选项卡里单击右键,在弹出的菜单里选第三项“自定义功能区域”。也可以弹出如上画面。

启用宏

因为很多病毒是靠VBA的宏传播,所以excel默认禁止执行宏,所以要执行VBA先要允许宏启动。在“开发工具”选项卡里点击“宏安全性”,选“宏设置”,选中“启用所有宏”。点击确定按钮,然后重启excel(关闭excle文件再重新打开)

 

VBA编辑器

点击“开发工具”中的“Visual Basic”,可以打开VBA编辑器。

VBA编辑器简称BE,即Visual Basic Editor

 

 

在资源管理器中并没有“模块”这样的目录结构,需要添加进去。在资源管理器中,右键单击,弹出菜单中选择“插入”,然后选择“模块”

 

双击资源管理器中的“模块1”,就可以在右边开发代码。

 

开发第一个小程序

点击一个按钮,计算execl中的公式

添加按钮

1、点击“插入”,弹出表单控件,选中按钮控件

 

2、选中按钮控件后,在excel需要添加按钮的地方,拖动鼠标左键画出按钮,弹出设置按钮调用宏信息的top画面。给宏起一个方法名,然后点击“新建”按钮,创建代码。然后进入VBA编辑器。看到如下代码。而且在资源管理器中自动给我们创建了一个“模块2”对应此代码。

宏:在VBA中编写的一段小程序(Macro)

 

 

Cells(行,列单元格行列取值

编辑代码

 

编辑完代码后保存文件,会弹出提示,我们必须把文件另存为xlsm格式文件,否者编写的代码无法保存。

回到excel画面,点击按钮就会计算出A1+A2的结果,结果放在C1单元格中。

 

编辑按钮文字 -> 右键单击按钮选第四项“编辑文字”(也可以拖动按钮位置)

调整编辑器字体

首先进入excle中的VBA编程界面,在顶部菜单栏中找到工具的按钮,点击工具”,找到选项按钮,然后进入选项的编辑界面,点击编辑器格式”,在右边可以选择字体的大小。

先写宏后关联按钮

1、先在模块2中创建一个做减法的宏代码

 

2、然后新建一个按钮,在弹出的top画面中,把按钮关联到这个宏上。

 

这样点击这个新建的按钮,C1就会等于A1-B1

VBA语法

变量

区别:

VBA的变量规则与java基本一致,最大的不同有以下两点:

1、VBA变量大小写不敏感 xy = XY = xY

2、当VBA程序中遇到一个新的变量名时,VBA会自动创建该变量,无需事先声明。

 

上面的代码x取一个固定单元格的值,程序根据单元格的值,计算对应行的数据。

注意:因为vba定义变量不像Java有变量初始化,Java程序一旦调用没有定义过的变量编译会出错。vba没有定义变量初始化,所以调用一个不存在的变量不会报错,他会自动创建这个变量,只是这个变量没有值。(所以把一个变量名修改后,后面调用这个变量的地方一旦漏改,程序不会报错,但是结果会出错)

为了应付没有定义变量调用也不会报错的情况,可以在程序里事先声明程序里只使用以下变量。

强制声明变量:

必须写在该模块文件的第一行写上Option Explicit,然后在方法体中用Dim声明,并用逗号分隔。一旦声明dim的方法体里使用了没有用dim声明的变量,编译就会报错。

 

常量

不可以被修改的变量,一旦定义成了常量,修改这个值会报编译错误。代码写法如下:

Const p = 3.14

FOR循环

 

上述代码for循环是:i从11循环到20,步长是1(循环一次加1)

注意:For循环结束处的 Next i,i可以省略不写。(for循环套for循环的时候建议写,否者不知道那个结束end是属于哪个for循环的)

如果步长是每次增加1,step 1也可以省略不写。其他情况例如递减需要写成step -1。

(使用tab键让代码缩进关系统一)

While循环

第一种:

While  Cells(1,2) <> “”

       …

Wend

第二种:(常用)

Do While Cells(1,2) <> “”

       …

Loop

 

例子代码:遍历每一个sheet页,计算每一个sheet页面的指定表格数据

 

IF ELSE

1、基本用法

下面的宏关联按钮后,点击按钮会根据A1和A2单元格的值在A3中写入合格或不合格,以下就是if else的用例:

Sub ifElseTest()

    Dim score1, score2

    score1 = Cells(1, 1)

    score2 = Cells(1, 2)

    '当A1和A2单元格都大于60的时候,A3单元格显示合格

    If score1 > 60 And score2 > 60 Then

        Cells(1, 3) = "合格"

    Else

        Cells(1, 3) = "不合格"

    End If

End Sub

2、如果判断语句写在同一行,那么可以不写End IF,例:

If score1 > 60 Then  Cells(1, 3) = "合格"

3、ElseIf:(ElseIf 是一个关键字)

 

 

关系运算符

大于:>    小于:<    大于等于: >=   小于等于:<=    不等于: <>   等于:=

逻辑运算符

与:And   或:or   非:not

字符串

字符串连接用&符号,记得字符串用&连接时,字符串与&符号之间一定要有空格,否者会引发歧义。

    str1 = "a"

    str2 = "b"

    Cells(2, 1) = Cells(2, 1) & str1 & str2

程序调试debug

1、设置断点:直接在vba编辑器中找到要调试的代码,点击左侧竖栏,生成断点。运行程序代码会到此处停下。

 

2、单步执行 F8  (VBA编辑器点开“调试”,里面能看到所有调试方法和快捷键)

 

3、添加监视:

 

 

 

4、报错自动定位:

如果运行时代码出错,VBA会弹出提示出错,点击弹出框的“调试”,会自动定位到出错行

 

 

宏操作excel

设置单元格字体颜色

Sub setCellsStyle()

    '把A1到C2之间(矩形的左上角与右下角范围)所有单元格字体变为红色

    Range("A1:C2").Font.Color = -16776961

End Sub

 

根据上例发现,Excel中每一个元素的操作都有对应的对象,例如Cells就是操作单元格的,Range就是范围操作单元格的,对应的excel中各种图形等都有固定的调用方法,但是我们不可能记住每一种图形的调用对象,所以我们可以利用excel录制宏的方法操作格个图形对象,然后看录制宏的代码,就知道了每种对象如何调用。

录制宏-参照宏代码

Excel提供了一种记录我们操作excel动作的“录制宏”功能,只要我们记录住操作excel的动作,再执行录制的宏,excel就会重复我们录制的动作。我们可以查看excel生成的代码,了解这些宏如何操作控件,从而根据这些代码来完成我们的代码。

例:我们想知道删除行的代码如何操作

1、点击录制宏

 

2、弹出我们要录制的宏定义,可以直接点击确定

 

3、我们删除一行代码,然后点“停止录制”

 

4、发现我们的代码里生成了一段这样的代码

Sub 宏2()

' 宏2 宏

    Rows("4:4").Select

    Selection.Delete Shift:=xlUp

End Sub

红色部分就是删除行的代码,可以解释为:删除第四行(从第四行到第四行)

5、这样我们就可以开发一个程序,把第一列单元格内容小于10的进行行删除。

先建立一个按钮,关联宏方法deleteRow()

Sub deleteRow()

    '从20行遍历到第1行(删除应该倒序遍历,因为index有变化)

    For i = 20 To 1 Step -1

        If Cells(i, 1) <= 10 Then

            '删除第i行

            Rows(i & ":" & i).Select

            Selection.Delete Shift:=xlUp

        End If

    Next i

End Sub

 

对象编程excel

主要类

VBA也把excel的各种控件分装成了对象,可以调用这些定义好的类、属性、方法操作控件。

这里的类、属性、方法与J

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Excel VBA操作Word是指通过ExcelVBA编程语言来控制和操作Word应用程序。下面是Excel VBA操作Word的入门篇。 首先,我们需要在Excel中引用Word对象库,这样才能使用Word的相关功能。打开ExcelVBA编辑器,点击菜单栏的"工具",选择"引用",然后勾选"Microsoft Word XX.X Object Library",点击确定。 接下来,我们需要声明一个Word应用程序对象,并创建一个新的Word文档。使用下面的代码可以完成这个任务: ``` Dim wordApp As Object '声明一个Word应用程序对象 Dim wordDoc As Object '声明一个Word文档对象 Set wordApp = CreateObject("Word.Application") '创建一个新的Word应用程序对象 wordApp.Visible = True '设置Word应用程序可见 Set wordDoc = wordApp.Documents.Add '创建一个新的Word文档 ``` 然后,我们可以向Word文档中插入文字、设置字体、样式、段落格式等。使用下面的代码可以实现这些操作: ``` wordDoc.Content.Text = "这是一个用Excel VBA操作Word的示例文档" '向文档插入文字 wordDoc.Content.Font.Name = "Arial" '设置字体 wordDoc.Content.Font.Size = 12 '设置字号 wordDoc.Paragraphs(1).Alignment = 1 '设置段落居中对齐 ``` 此外,我们还可以向Word文档中插入图片、表格、超链接等。使用下面的代码可以实现这些操作: ``` wordDoc.InlineShapes.AddPicture "C:\image.jpg" '插入一张图片 wordDoc.Tables.Add Range:=wordDoc.Range, NumRows:=3, NumColumns:=3 '插入一个3行3的表格 wordDoc.Hyperlinks.Add wordDoc.Range, Address:="http://www.example.com", TextToDisplay:="点击访问示例网站" '插入一个超链接 ``` 最后,我们需要关闭Word文档和应用程序对象以释放资源。使用下面的代码可以完成这个任务: ``` wordDoc.SaveAs "C:\example.docx" '将文档保存为docx格式 wordDoc.Close '关闭文档 wordApp.Quit '关闭Word应用程序 ``` 以上就是Excel VBA操作Word的入门篇内容。通过这些基础知识,我们可以进一步探索更多复杂的Word操作,如格式控制、文本替换、邮件合并等。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值