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. 如何写一个数据库How do you build a database?(转载)

    转载自:http://www.reddit.com/r/Database/comments/27u6dy/how_do_you_build_a_database/ciggal8 Its a great ...

  2. poj-2403-cup

    题目描述 The WHU ACM Team has a big cup, with which every member drinks water. Now, we know the volume o ...

  3. java 包之 BeanUtils包的使用

    BeanUtils工具包是由Apache公司所开发,主要是方便程序员对Bean类能够进行简便的操作. 在使用BeanUtils工具包之前我们需要的Jar包有以下几种: (1)   BeanUtils相 ...

  4. 不规则三角网 Delaunay——TIN

    http://blog.csdn.net/u010025211/article/details/25032209 知识点一:平面中判断一个点是否在三角形内部. #include <stdio.h ...

  5. Long,String类型的两个值进行比较,注意点!!!

    一: . Long 类型指的是 java.util.Lang 对象,而不是基本类型 long (注意大小写)Java中如果使用 == 双等于比较对象,等于比较的是两个对象的内存地址,也就是比较两个对象 ...

  6. java 简单的文件上传

    一.文件上传原理: 1.文件上传的前提: a.form表单的method必须是post b.form表单的enctype必须是multipart/form-data(决定了POST请求方式,请求正文的 ...

  7. [Oracle]查看和修改连接数

    #登陆数据库sqlplus system/*** as sysdba #显示当前最大连接数:show parameter processes; show parameter sessions; #修改 ...

  8. JavaScript总结之单击弹出div

    今天也算用了不少手段来实现他们的要求,大概记录一下,下边的代码示例,我全部修改贴出来,争取全部占到自己的代码里就能用. 1.点击同一个div,打开/关闭另一个div. 1 <script typ ...

  9. Linux下CURL常用命令

    下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中: -o:将文件保存为命令行中指定的文件 ...

  10. 常量 - PHP手册笔记

    常量语法 常量在脚本执行期间其值不能改变.常量大小写敏感,传统上常量标识符总是大写.常量一旦定义就不能被重新定义或取消定义,常量的值只能是标量. 可以用define()函数来定义常量,也可以使用con ...