Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • Excel表格中的序号操作..
  • Excel技巧:处理折线图..
  • 利用Excel 中的信息创..
  • Excel2000 应用案..
  • Excel文件的加密与隐藏
  • Excel2000 应用案..

最新文章

  • 在 Excel中 打开Ac..
  • 为选择的区域添加边框
  • 如何在Excel中使用文件..
  • 用快捷键实现相对引用和绝对..
  • 【技巧】Excel控制特定..
  • Excel技巧集锦

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > Excel技巧 > Excel应用与操作
Excel应用与操作

Excel 97/VBA技术讲座之四

 通过上一讲的学习,我们已初步掌握了如何利用VBA控制Excel。但都是利用宏记录器录制的VBA宏语句。在实际应用中,记录宏只能机械地重复执行某些操作,而不能完成其它更复杂的功能。这一讲将介绍如何编写超出记录宏以外的VBA程序,如何在编写宏时构造分支和循环,从而使编写出的宏功能更为强大。
   

一、VBA控制结构

    VBA是由Visual Basic语言发展而成的,其语言结构分为两部分:Visual Basic语言结构和其嵌入软件的对象模块(如Excel对象模块)。其中,Visual Basic是一套完全独立的Windows开发系统,是可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。与其它高级程序设计语言的控制结构一样,Visual Basic程序设计语言的控制结构分为三种:顺序结构、分支结构和循环结构。
    顺序结构:表示在每个过程或函数中程序依顺序执行每条语句,无条件判断转移和循环。原始记录宏的结构就属于顺序结构,既不能根据具体情况作出判断执行不同的操作,也不能对同一类问题自动地重复执行同一组操作。因而,要提高宏的灵活性,增加宏的功能,唯一办法就是修改宏,加入选择、判断、循环控制功能。
   

1. 分支结构

    VBA的分支结构有:If语句和Select Case语句。
   

If 语句

    If语句是根据条件判断控制程序的分支,有三种形式:一是单分支结构,仅当条件为真时执行Then语句块;二是双分支结构,当条件为真时执行Then语句块,条件为假时执行Else语句块;三是多分支结构,格式如下:
   

If 〈条件1〉 Then

〈语句块1〉

ElseIf 〈条件2〉 Then

〈语句块2〉

·

·

·

Else

〈语句块n+1〉

End If

    当条件1为真时执行语句块1,否则,若条件2为真,则执行语句块2……如果所有的条件都不成立,则执行Else后面的语句块n+1。
    例如为了更方便地浏览指定的工作表,希望限定活动单元格指针只能在工作表的3~9列内移动;当活动单元格位于3~9列之外时,将单元格指针移至该行的第3列;当活动单元格位于第9列,再右移时,单元格指针自动移至下一行的第3列。为此可以使用If结构的宏实现。相应的VBA程序如下所示:
   

Sub Move( )

‘在工作表的3~9列内右移单元指针

‘快捷键 Ctrl+Shift+M

If  ActiveCell.Column < 3  Or  ActiveCell.Column > 9  Then

Cells(ActiveCell.Row, 3).Select

ElseIf  ActiveCell.Column = 9  Then

Cells(ActiveCell.Row + 1, 3).Select

Else

ActiveCell.Offset(0, 1).Select

End If

End  Sub

Select Case语句

Select Case语句与If...Then...ElseIf语句非常相似,只是当判断控制仅取决于一个测试变量时,使用Select Case结构更有效、更简捷。Select Case语句的格式如下:

Select Case 〈测试变量〉

Case 〈表达式1〉

〈语句块1〉

Case 〈表达式2〉

〈语句块2〉

·

·

·

Case Else

〈语句块n+1〉

End Select

    该语句的功能是:首先将测试变量的值与Case后面表达式的值相比较,哪个表达式与测试变量匹配就转向执行哪段语句块,执行完毕便转向End Select语句之后继续往下执行。如果所有的条件都不成立,则执行Case Else后面的语句块n+1。
    在Select Case语句中,测试变量可以是变量、属性或表达式。Case语句后面的表达式有可以为一般表达式,也可以为Is关系表达式。
    一般表达式可以由多个表达式组成,其间用“,”和“To”分隔,前者表示“或”,只要其中有一个表达式匹配即执行该Case语句对应的语句块。后者表示范围,指定范围时,表达式值须从小到大排列。例如:Case -20 To -15,15 To 20
    Is关系表达式。表示测试变量应该与Is关键字之后的表达式比较,当指定范围为真,则执行该Case下面的语句块,反之转向比较其它表达式。
    注意:测试变量的类型必须与Case后面表达式的类型一致。
    例如现有学生的考试成绩存放在StScore工作表中,需要根据考试成绩,在其右邻单元给出优、良、中、及格、不及格五个等级。这可以方便地利用Select Case语句实现。相应的VBA宏程序如下所示:

Sub Score( )

‘给出优、良、中、及格、不及格五个等级。

‘快捷键 Ctrl+Shift+S

    Select Case  ActiveCell.Value

      Case  Is < 60

        Cells(ActiveCell.Row, ActiveCell.Column + 1) = "不及格"

      Case  60 To 69.9

        Cells(ActiveCell.Row, ActiveCell.Column + 1) = "及格"

      Case  70 To 79.9

        Cells(ActiveCell.Row, ActiveCell.Column + 1) = "中"

      Case  80 To 89.9

        Cells(ActiveCell.Row, ActiveCell.Column + 1) = "良"

      Case  Else

         Cells(ActiveCell.Row, ActiveCell.Column + 1) = "优"

    End Select

End Sub


(VBA-相关文章技巧链接):
Excel VBA系列讲座(2):处理录制的宏
发布人:admin-Excel Home  
分享到:
点击次数:  更新时间:2005-02-24 12:27:10  【打印此页】  【关闭】
上一条:Excel 97/VBA技术讲座之五  下一条:Excel 97/VBA技术讲座之三



相关文章

  • • 在 Excel中 打开Access窗体或者报表的错误原因及解决办法
  • • 为选择的区域添加边框
  • • 如何在Excel中使用文件对话框
  • • 用快捷键实现相对引用和绝对引用快速来回切换
  • • 【技巧】Excel控制特定单元格输入文本的长度
  • • Excel技巧集锦
  • • Excel技巧大汇总
  • • 在word中输出数学符号

热门文章

  • [2004-05-15] 使用自定义序列排序access数据库
  • [2004-05-15] 快速清除所有工作表格式access数据库
  • [2005-04-06] 用Excel生成九九乘法表access数据库
  • [2006-10-29] 关于用SUMPRODUCT取代SUM数组公式的想法access数据库
  • [2005-02-17] Excel2000 应用案例之四十五access数据库
  • [2005-02-12] 用特定函数实现快速输入access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn