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. 第二章实例:动态生成View控件例子---小球跟随手指滑动

    package mydefault.packge; import android.app.Activity; import android.content.Context; import androi ...

  2. [Effective Modern C++] Item 1. Understand template type deduction - 了解模板类型推断

    条款一 了解模板类型推断 基本情况 首先定义函数模板和函数调用的形式如下,在编译期间,编译器推断T和ParamType的类型,两者基本不相同,因为ParamType常常包含const.引用等修饰符 t ...

  3. opals 开发记录

    1:开发需要的文件 下载地址:http://www.geo.tuwien.ac.at/opals/html/index.html 注意只能在release下才能通过. 我自己整理好的(64位的),以备 ...

  4. js 函数(function)

    <Javascript高级程序设计第三版> 3.7 函数 1. ECMAScript中的函数在定义时,不必指定是否返回值. 2. 位于return语句之后的任何code都永远不会执行.(之 ...

  5. HTML5数组方法

    ***************************** forEach方法 *****************************   <script>var data = [1, ...

  6. php number_format()保留小数点后几位有效数的函数 千位分组来格式化数字(转)

    PHP保留小数点后2位的函数number_format number_format(带小数点的书,小数点后保留的位数) number_format(8.3486,2);  //取得小数点后2位有效数/ ...

  7. I/O事件

    I/O事件 最近在研究tornado和gevent,里面涉及了非阻塞I/O.在了解非阻塞I/O之前,需要先了解I/O事件 我们知道,内核有缓冲区.假设有两个进程A,B,进程B想读进程A写入的东西(即进 ...

  8. C# 导出 excel 复杂格式 html导出

    /// <summary> /// 夜班津贴统计导出 /// </summary> public void ExportOtStat(string data) { var in ...

  9. poj 1083 Moving Tables_dp

    题意:给你n个凳子,接着告诉你一个凳子从a房间到b房间,运输时间为10分钟,走廊很窄能通过一张凳子,当然不堵塞的话能同时扮凳子,问最小花费多少时间 因为数据很小就直接用数组统计了,a,b如果是奇数的话 ...

  10. 网易云课堂_C语言程序设计进阶_期末考试编程题部分

    1 字符串循环右移(5分) 题目内容: 输入一个字符串和一个非负整数N,要求将字符串循环右移N次. 输入格式: 输入在第1行中给出一个字符串,以'#'表示结束,‘#’不是字符串的一部分,字符串的长度未 ...