Excel宏与VBA

程序设计实验指导1

实验1 Excel宏与VBA

语法基础

一、实验目的

1.熟练掌握录制宏、执行宏、加载宏的方法;

2.熟练使用Excel VBA编辑环境,掌握VBA的编辑工具VBE的结构和使用;

3.熟练掌握VBA的基础语法和语句,包括对象、属性和方法,运算符的使用,常用语句和变量的使用。

二、知识要点

1.宏

宏是被存储在Visual Basic模块中的一系列命令和函数。在需要执行宏时,宏可以立刻被执行,简单地说,宏就是一组动作的组合。宏是Excel能够执行的一系列VBA语句,它是一个指令集合,可以使

Excel自动完成用户指定的各项动作组合,而且宏的录制和使用方法相对也比较简单。录制宏命令时,Excel会自动记录并存储用户所执行的一系列菜单命令信息;运行宏命令时,Excel会自动将已录制的命令组

合重复执行一次或者回放,从而实现重复操作的自动化。也就是说,宏命令本身就是一种VBA应用程序,它是存储在VBA模块中的一系列命令和函数的集合。当执行宏命令所对应的任务组合时,

Excel会自动启动该VBA程序模块中的运行程序。

在Excel中,宏有以下两种制作方法:

录制宏:通过录制的方法把在Excel中的操作过程以代码的方式记录并保存下来,即宏的代码可以用录制的方法自动产生;

编写宏:在VBE中直接手工输入操作过程的代码。

(1)录制宏:录制宏是用录制的方法形成自动执行的宏,除了直接录制外,也可以用图形或按钮启动录制;

(2) 执行宏:通过宏对话框执行宏、通过图形执行宏、通过窗体按钮执行宏、添加菜单或工具栏命令执行宏;

(3)加载宏:加载宏来源主要有Excel自带的加载宏、其他来源提供的加载宏、录制宏制作的加载宏。

2.Excel VBA编辑环境

VBA是Micriosoft Office集成办公软件的内置编程语言,又分为Excel VBA语言、Word VBA语言以及PowerPoint VBA语言,是新一代标准宏语言。它是基于VB发展起来的,VBA继承了VB很大一部分编程方法。

VB中的语法结构、变量声明以及函数的使用等内容,在VBA语言中同样可以正常使用。VB是面向对象编程,Excel VBA则偏重于面向Excel 对象,如工作簿、工作表以及单元格等,即Excel VBA是通过用代码编写的

命令和过程来操作工作表或单元格等对象,进而在Excel中完成自动化操作的设置。 Office提供了VBA开发界面,称为 VBE窗口界面,在该窗口中用户可以先实现应用程序的编写。VBE不能单独打开,必须依附于它所支持的应用程序。

通过VBE编写的VBA代码,也保存于VBA代码所服务的Excel文件中。 Excel宏与VBA程序设计实验指导书

2 3.Excel VBA语法基础及代码结构

(1)注释、连写和断行

注释:可以通过两种方法实现,即使用Rem语句、用单引号(’);

连写:在一行中写几个语句,用“:”来分开不同语句

断行:一个语句分开写成几行,用空白加下划线“_”作为断行标记。

(2)变量和常量

变量用于临时保存数据。程序运行时,变量的值可以改变。变量在使用前,最好进行声明,也就是定义变量的数据类型,这样可以提高程序的可读性和节省存储空间。

通常使用Dim语句来声明变量。声明语句可以放到过程中,该变量在过程内有效。声明语句若放到模块顶部,则变量在模块中有效。

变量用来存储动态信息,静态信息可以用常量表示。要声明常量并设置常量的值,需要使用Const语句。常量声明后,不能对它赋予新的值。

(3)运算符

算术运算符:+、-、*、/;

比较运算符:<、<=、>、>=;

逻辑运算符:And、Or、 Not;

连接运算符:&、+

常用语句With

语句:设置一个对象的多个属性;

判断语句:With 对象

. 属性1 = 性值

.  属性2 = 属性值

„„

.属性 N = 属性值

End With

IF 判断Then   代码1

Else 代码 2

End IF

IF 判断1 Then 代码1

Elseif 判断2 Then 代码2

Elseif 判断3 Then 代码3 „„

Else  代码 N

End IF

Select  Case 判断的对象

Case (Is) 条件1 代码1

Case (Is) 条件2 代码2

Case (Is) 条件3 代码3 „„

Case Else  代码 N

End Select

Excel宏与VBA程序设计实验指导书

3循环语句

实验内容及步骤

发生错误语句转移忽略出错的语句

(5)过程程序

过程程序根据是否有返回值分为子过程程序(不返回值)和函数过程程序(可

以返回值)。子过程程序结构:

(6)事件程序

(7)对象、属性和方法

对象:

Excel

工作簿、工作表、单元格、图表、窗体、按钮等;

属性:对象固定的特征,设置对象属性结构为“对象.属性=属性值”;方法:作用于对象上的操作,用方法操作对象语法为:

“对象.方法 自变量”。

三、

实验内容及步骤

1.录制宏的实例应用

(1)自动完成报表累计

在图

1-1

所示的费用表中,要求设置下列

3个按钮:

“累加”按钮:单击该按钮进行本月累计运算,并在

F1单元格中显示“本月数据已累加”。“累加恢复”按钮:单击该按钮自动恢复累加前的数据,并在

F1单元格中显示“已恢复到累加前数据”。“清空本月数据”按钮:单击该按钮清空B列中的本月数据,并在F1单元格中显示“本月数据已清除”。

VB execl文件后台代码,基础语法的更多相关文章

  1. Java解析导入Excel文件后台代码实现

    使用MultipartFile上传Excel文件后端代码实现:(springmvc下的spring-webmvc (MultipartFile )上传) 由于POST一个包含文件上传的Form会以mu ...

  2. excel文件后台代码

    很多情况下,我们都需要从Excel中获取数据来创建Word报表文档.首先在Excel中分析数据,然后将分析结果导出到Word文档中发布.技术实现方式:1.创建Word模板,用来作为数据分析结果发布平台 ...

  3. asp.net 下载任意格式文件 上传文件后台代码

    思路:将文件转化为流,输出到页面上的iframe中去 //下载附件逻辑 object DownLoad(NameValueCollection nv) { int attachId = nv[&quo ...

  4. C#基础语法,快速上収C#

    C#代码基础语法 对新手的帮助很大,可以尝试多看看然后在敲敲 // 单行注释以 // 开始 /* 多行注释是这样的 */ /// <summary> /// XML文档注释 /// < ...

  5. wpf 分别用 xaml 和后台代码实现 色彩渐变

    xaml 方法: <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.micros ...

  6. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  7. Verilog HDL基础语法讲解之模块代码基本结构

    Verilog HDL基础语法讲解之模块代码基本结构   本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的 ...

  8. uploadify上传文件(2)--基础语法

    隔了好久,因为最近搬家,离开从小生活的城市,来到杭州.找工作.找房子等诸多事宜耽误了这篇文章许久.今天难得闲暇在旅馆中完成uploadify上传文件系列的第二篇--uploadify使用的基础语法. ...

  9. python基础语法、数据结构、字符编码、文件处理 练习题

    考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...

随机推荐

  1. C的xml编程-libxml2(转)

    这里主要讲述libxml2在linux下的使用. (以下内容除了linux下的安装步骤是自己写的,其余均出自http://www.blogjava.net/wxb_nudt/archive/2007/ ...

  2. GYP构建系统总结

    GYP,Generate Your Project,一个Google开源的构建系统,最开始用于Chromium项目,现在一些其他的开源项目也开始使用GYP,如v8和node-gyp.不管怎样,这仅仅是 ...

  3. silverlight调用bing地图 和 显示中文地图

    bing地图sdk: https://msdn.microsoft.com/en-us/library/ff428643.aspx 引用dll:https://www.microsoft.com/en ...

  4. 从汇编看c++的虚拟继承以及其内存布局(一)

    先看第一种最简单的情形,所有类中没有任何虚函数的菱形继承. 下面是c++源码: class Top {//虚基类 public: int i; Top(int ii) { i = ii; } }; c ...

  5. 移动网页版Meta 标签

    viewport 大部分移动浏览器都接受,比如 Opera Mobile, iPhone, Android, Iris, IE, BlackBerry, Obigo, Firefox 最基本的例子,在 ...

  6. Sphinx Makefile

    # Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPT ...

  7. Nginx 配置指令的执行顺序(二)

    我们前面已经知道,当 set 指令用在 location 配置块中时,都是在当前请求的 rewrite 阶段运行的.事实上,在此上下文中,ngx_rewrite 模块中的几乎全部指令,都运行在 rew ...

  8. XML的Schema约束

    XSD文档至少要包含:schema根元素和XML模式命名空间的定义.元素定义.需要注意的是XSD中必须定义一个且只能定义一个schema根元素,根元素中包括模式的约束,XML模式命名空间的定义,其他命 ...

  9. webview相关链接

    http://tech.it168.com/a2011/0517/1191/000001191561_2.shtml http://www.eoeandroid.com/thread-272495-1 ...

  10. 【hihocoder 1249 Xiongnu's Land】线性扫描

    2015区域赛北京赛区的三水,当时在赛场上没做出的原因是复杂度分析不正确导致把方法想复杂了.近来复习复杂度分析,觉得不能只是笼统地看渐进复杂度(big-O),更应根据算法的伪码计算真正的以基本操作数为 ...