当让则让 Excel下借助VBA编程小记

globalsino.com  




2002/03/20 来源: 赛迪网--中国电脑教育报  文/焦红兵

  最近,在做一项实验的统计时,需将十组数据的每一组中的两个数据间分成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中运行通过。



其他推荐阅读:

女人总结的常用性爱原则 男女之间六大“隐秘”私语
夫妻性生活前请你先洗手 揭开鬼性交面纱
荧光抗体技术 免疫细胞化学技术
红外光谱法概述 基于红外线的仪器
视频名称解释: 最小拍摄区域 视频名称解释: 变焦与聚焦
常用光电器件的检测 常用的光电器件
电容使用的四个误区 电容介绍: CA411B型单向引出密封固体钽电解电容器
富豪暴富与隐性社会危机 解密中国大富豪“暴富流程图”
主板维修基础 电脑主板维修入门
新加坡:生物燃料对抗油价上涨 煤电联动的困境与出路
北宋都城开封苏颂:世界钟表之父 古董名表的辨别
世界上最能忍受紫外线照射的植物 世界上生命力最顽强的植物

 
 
 
【无国界华人网】版权所有。Copyright (C) 2006 GlobalSino, All Rights Reserved