设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1937|回复: 0
打印 上一主题 下一主题

[VBA编程/宏] VBA在Excel 2000中的应用一例

[复制链接]
跳转到指定楼层
1#
发表于 2004-7-29 23:50:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
VBA在Excel 2000中的应用一例

     

Excel 2000是非常优秀的电子表格软件,在一些常用的统计报表中,如求最大值、最小值、平均值……,我们只需在需要输出结果的活动单元格(Activecell)中预埋计算公式即可,但对于一些比较复杂的情况,采用预埋计算公式的方法就无能为力了。这时我们必须用VBA(Visual Basic for Application)才能解决问题,用VBA可以将Excel 2000的应用能力提高一个层次,下面通过一个实例向大家简单地介绍一下这方面的问题。



  这是一个比较简单的程序,其作用如下:我们在A1~A3、B1~B3活动单元格中分别输入不同的数值,用鼠标点击“运算”命令按钮后,程序将用A1~A3活动单元格中的最大值减去B1~B3活动单元格中的最大值,如果运算结果大于零则在B4活动单元格中显示“大于零”;如果运算结果等于零则在B4活动单元格中显示“等于零”;如果运算结果小于零则在B4活动单元格中显示“小于零”。

  VBA代码如下:

  Private Sub CommandButton1_Click()

  Range("b4").Select

  ActiveCell.Formula = "=max(a1:a3)"

  ma = ActiveCell.Value

  Range("b4").Select

  ActiveCell.Formula = "=max(b1:b3)"

  mb = ActiveCell.Value

  m = ma - mb

  Range("b4").Select

  If m > 0 Then

  ActiveCell.Formula = "大于零"

  ElseIf m = 0 Then

  ActiveCell.Formula = "等于零"

  Else

  ActiveCell.Formula = "小于零"

  End If

  End Sub

  简单说明如下:

  ①ActiveCell.Formula = "=max(a1:a3)"

  ma = ActiveCell.Value

  Range("b4").Select

  ActiveCell.Formula = "=max(b1:b3)"

  mb = ActiveCell.Value

  上述语句的作用是从A1~A3、B1~B3活动单元格取出各自的最大值并将其分别赋予变量ma、mb。

  ②m = ma - mb

  Range("b4").Select

  If m > 0 Then

  ActiveCell.Formula = "大于零"

  ElseIf m = 0 Then

  ActiveCell.Formula = "等于零"

  Else

  ActiveCell.Formula = "小于零"

  End If

  上述语句的作用是先将ma-mb赋予变量m,然后选择b4活动单元格,接着对变量m的值进行判断:如m大于零则在b4活动单元格显示“大于零”;如m等于零则在b4活动单元格显示“等于零”;如m小于零则在b4活动单元格显示“小于零”。

  结论:

  通过这个实例我们可以看出:表面文章(字体、字型、大小、颜色、表格边框、底纹……)由Excel 2000来完成,实质内容(运算结果)由VBA来完成,从中我们或许能够初步领略到VBA(Visual Basic for Application)嵌入式开发平台魅力之所在.





作者:不详
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-20 17:55 , Processed in 0.198142 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表