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. iOS开发面试题整理 (一)

    1. Object-C有多继承吗?没有的话用什么代替? cocoa 中所有的类都是NSObject 的子类多继承在这里是用protocol 委托代理 来实现的 你不用去考虑繁琐的多继承 ,虚基类的概念 ...

  2. php工厂设计模式

    class DbFactory { private $errmsg = '未找到类文件'; static function factory($className){ $className = strt ...

  3. PC远程调试移动设备(转载)

    我们在移动端进行前端开发时,会遇到一个让人头痛但不得不面对的问题--调试. 在 PC 机器上,我们有功能强大的 Chrome DevTools.Firebug,即便是老版本的 IE ,我们也可以安装微 ...

  4. Git for PyCharm

    Git for PyCharm Using PyCharm's Git integration locally:http://confluence.jetbrains.com/display/PYH/ ...

  5. 仿制的ActivityIndicatorView

    仿制Github上CSS3效果制作的几个简单的ActivityIndicator,复习一下IOS动画操作. 原效果连接:https://github.com/tobiasahlin/SpinKit 代 ...

  6. android 管理Bitmap内存 - 开发文档翻译

    由于本人英文能力实在有限,不足之初敬请谅解 本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接   Managing Bitmap Memory 管理Bitmap内存 In additi ...

  7. linux之SQL语句简明教程---CONCATENATE

    有的时候,我们有需要将由不同栏位获得的资料串连在一起.每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT( ) Oracle: CONCAT( ), || SQL Server: + ...

  8. hdu 4686 Arc of Dream(矩阵快速幂乘法)

    Problem Description An Arc of Dream is a curve defined by following function: where a0 = A0 ai = ai- ...

  9. and then set HOMEBREW_GITHUB_API_TOKEN.

    andyMacBook-Pro:~ andy$ brew search redis hiredis   redis homebrew/nginx/redis2-nginx-module Error: ...

  10. 有用的HTML+CSS片段

    HTML5页面模板 现在国外很多制作新网站直接使用了HTML5代码,当然我们也得跟上,下面是一个常用的HTML5默认模板,就像你用Dreamweaver新建一个HTML文件时的代码,只不过现在这个是H ...