VBE有丰富的调试工具, 比如立即窗口, 本地窗口, 监视窗口, 断点调试... 第一个博文中已经讲过调试的基本操作: 设置断点, F5运行, F8逐条运行 断点就是程序中暂停停止运行的位置, 设置断点之后, 当运行到断点行所在的语句程序就进入中断模式, 此时在本地窗口和立即窗口中 可以查看变量以及对象的属性值. 1. debug 介绍: 调试工具的基石 debug.print x   在不中断程序的情况下输出x 的值 debug.assert 与if 类似, 用与判断一个条件是否成立, 但是i…
系统性的知识前面已经讲完,从本章开始,本系列教程涉及的将会是一些相对凌散的内容. 1. 注释 代码注释是一件利人利己的事,为了方便自己在代码需要更新修改时,依然能够快速地看懂自己完的每一行代码到底是什么意思有何用处,在关键点加上代码注释是很有必要的.如果要让别人也能看懂自己的代码,那么注释更是不可或缺的. VBA中有两种注释的方法,其一是使用单引号,另一种是Rem.在单引号后面或Rem后面的所有内容,在程序运行时都不会被执行,它们就是注释的内容.通常注释的内容会被用其它颜色标识.如下: 有点不方…
虽然我前面讲过,在VBA中操作工作薄并不是件明智的事,但有些时候,还是避免不了要这么做.绝大多数情况下,我们要做的是获取到某个工作薄对象,并以此来获得其中的工作表对象,然后再对工作表中的数据进行处理.而后面这一部分(操作工作表)在前面已经讲过了,所以本章只讲如何在VBA中打开.关闭工作薄,以及介绍两个常用的工作薄对象.在VBA中打开工作薄有两种方法:显式打开及隐式打开. 1. 显式打开 显式打开即跟我们手动双击打开一个Excel文件一样,可以看到工作薄的内容,可以在里面进行各种操作.代码及示例如…
本文基于以下文件 http://pan.baidu.com/s/1nvJtsu9 (部分)内容预览: 1. 边框样式 Sub cell_format() Dim sht As Worksheet Dim rng As Range Set sht = Worksheets("Parameter") Set rng = sht.Range("B2:C20") ' 设置边框格式 ' 这是常规的实线.细线,默认颜色为黑色 rng.Borders.LineStyle = xl…
前面讲过,VBA代码有两种组织形式,一种就是过程(前面的示例中都在使用),另一种就是函数.其实过程和函数有很多相同之处,除了使用的关键字不同之外,还有不同的是: 函数有返回值,过程没有 函数可以在Excel表格中像一般的Excel函数那样使用,但过程不可以 过程可以指定给Excel表格中的按钮或者图片等对象,但是函数不可以 函数只能在被调用时执行,比如在过程中调用,或者在另一个函数中调用,或者在Excel表格中调用.但不能直接执行,而过程是可以的 虽然可以把所有代码都放在一个过程,或者一个函数里…
本章是本系列教程的重点.但我觉得应该不是难点.从第零章开始到学完本章,应该可以把VBA用于实战中了. Excel对象主要有4个: 工作薄 Workbook 工作表 Worksheet 单元格区域 Range 单元格 Cell 这里我只讲后面3个,不讲工作薄.原因有2点: 第零章里面讲过,工作薄其实就是一个Excel文件.我不建议直接操作Excel文件.因为文件属性被更改的机率高.比如修改了文件名,或者文件被移动到其它地方去了,这样的话,写死的VBA代码就不管用了.这是主要原因 学完本章,或者后面…
所谓循环控制,即在循环执行一段代码,用于完成一些重复性任务. VBA中的循环控制语句主要有3种:for.while.loop.对于大多数人来说,for的使用频率最高,而我个人也觉得for是最为灵活的,在很多场合下都可以使用,相较while和loop,其逻辑也再加清晰,更便于对循环进行控制. 1. For循环 for循环有两种形式,一种为明确地知道要循环的次数的,比如从1到10循环执行10次:另一种则用于循环历遍某个集合对象,这个对象有多少个单位就循环执行多少次,可以视为是未知循环次数的. ① 循…
本教程所用系统环境: Windows 10 Excel 2013 1. 添加开发工具 打开Excel,依然找到"文件"->"选项"->"自定义功能区",在右侧主选项卡下面的选项中,找到"开发工具",在前面的小框打勾,确定.返回Excel,即可在菜单栏右侧看到有开发工具: 2. 使用VBE VBE即VBA的编辑环境.通常有两种方式可以进入 菜单栏 -> 开发工具 -> Visual Basic 快捷键:A…
VBA 中的用户窗体就是指带 UI 的用户界面,在运行的时候会单独弹出一个窗口,类似于在 windows 系统中运行的一个可执行程序一样(这个说法不太严谨,因为可执行程序也可能是只有命令窗口而没有 UI 的).再具体一点,就是一个窗口界面当中,有可能会包含有文本框.复选框.单选按钮.下拉列表,就如在网页中填写的表单一样.再具体一点,就是如下图这样的: 1. 用户界面设计 如上图,UI 设计的部分其实是很简单的,微软的特色,直接拖拉拽就可以实现了.而每一个控件(或者称为元素,也即放进窗体中的各种按…
VBA中的流程控制分为两种,其一是条件结构式的,即根据条件判断的结果去选择性执行相应的语句(块):另一种是循环,即循环地执行语句(块).本节介绍第一种. 1. IF if 语句其实包含有几种形式: ① If...Then...End If 其格式为: If 逻辑表达式 Then ' 如果逻辑表达式为真,则执行这里的语句 End if 例如: If 8 > 5 Then Debug.Print "Yes" End If 输出结果为:Yes ② If...Then...Else...…