首页 新闻 搜索 短信 分类 聊天 导航
上移动梦网
赢手机大奖

新浪首页 > 科技时代 > 网上学园 > 办公专区 > 正文
当让则让 Excel下借助VBA编程小记

http://www.sina.com.cn 2002/03/20 14:40 赛迪网--中国电脑教育报

  文/焦红兵

  最近,在做一项实验的统计时,需将十组数据的每一组中的两个数据间分成100等份,填入Excel表中,这十组数据的每一组都有100多个数据。如此巨量的工作,别用手填,就是采用Excel的自动填充大法,也得把人累个半死。于是本人就想到了VBA……

  目 标

  1、 要有灵活性,既能计算选定组的全部数据,也能计算一组中选中的连续数据。

  2、 将数据写在同一工作表中的空白列中。

  编程代码及注释

  在VBA编程窗口中新建一模块,填入代码如下:

  Sub my1()'在这里定义宏名称

  Dim i As Integer

  Dim n As Integer

  Dim s As Integer

  n=1

  Dim cellx As Range 'cellx是要参与计算的数据对象

  Dim celly As Range 'celly是存放计算结果的数据对象

  Application.ScreenUpdating=False

  '在进行大量数据运算时,将屏幕更新关掉,能快很多

  Set celly=Selection.Offset(,13).Cells(1)

  '定义偏移位置,使数据目标区域能随选择区域的不同,产生自动偏移

  For Each cellx In Selection'开始运算,直到所选择数据的最后一个

  Set cellx=Cells(cellx.Row+1,cellx.Column) '从原始数据列的第二行开始,第一行是标题

  If Cells(cellx.Row+1,cellx.Column)=Empty Then '当选择整列进行运算时,要进行是否结束循环的判断

  Exit For

  EndIf

  Cells(celly.Row+n,celly.Column).Value=cellx.Value

  '运算数据并填充结果

  For s=1 To 100

  n=n+1

  Cells(celly.Row+n,celly.Column).Value=Cells(celly.Row+n-1,celly.Column).Value+(Cells(cellx.Row+1,cellx.Column).Value-Cells(cellx.Row,cellx.Column).Value)/100

  Nexts

  Next cellx

  Application.ScreenUpdating=True'打开屏幕更新

  End Sub

  以上程序在Excel 97中运行通过。


  


发表评论】【初学者园地】【科技聊天】【关闭窗口

新 闻 查 询

 相关链接
【学园专题】办公一族
处理大型Word文档的命令和技巧(下)(2002/03/19 17:04)
巧用Excel加快数据录入速度(2002/03/19 10:02)
处理大型Word文档的命令和技巧(上)(2002/03/15 13:36)
制作精美报表 巧妙填充Excel单元格(2002/03/14 11:19)
巧用Word软件转换图片文件格式(2002/03/13 15:30)
用Excel巧妙输出美观的工资条(2002/03/12 11:29)
快速退出运行“Word”软件的两个方法(2002/03/06 14:38)
在WPS 2000中自建图文符号库(2002/03/05 15:19)


科技时代意见反馈留言板 电话:010-82612286 或 010-82628888-3488   欢迎批评指正

网站简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 帮助信息

Copyright © 1996 - 2002 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网