首页 vba应用实例

vba应用实例

举报
开通vip

vba应用实例与工作表有关的汇总 今天,调度室工作人员做一种表格,是一种汇总表,表格的特征是这样的: 1.表格名称分别有1、2、3···11、12,代表12个月份; 2.数据之间有关联关系,按季度关联,即一个季度第一个月某个数据等于他 本是,第二个月等于第一个月和的二个月的和,第三个月等于第一个、第二个、第三个的和; 3.这一栏公式是合计,没有数值处为空。 她认为每一张表格都要去输入一遍公式,嫌麻烦,问我有没有什么简便方法。 简便方法当然有,但是她所处理的表格就3种,如果为此特意去做一种程序比较费时。 不过,这...

vba应用实例
与工作 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 有关的汇总 今天,调度室工作人员做一种表格,是一种汇总表,表格的特征是这样的: 1.表格名称分别有1、2、3···11、12,代表12个月份; 2.数据之间有关联关系,按季度关联,即一个季度第一个月某个数据等于他 本是,第二个月等于第一个月和的二个月的和,第三个月等于第一个、第二个、第三个的和; 3.这一栏公式是合计,没有数值处为空。 她认为每一张表格都要去输入一遍公式,嫌麻烦,问我有没有什么简便 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。 简便方法当然有,但是她所处理的表格就3种,如果为此特意去做一种程序比较费时。 不过,这种引用工作表名称并进行运算的方法对于excel初学者来说算是比较高深了,我回去特地研究了一下,采取以下方法可以解决: 思路是提前工作表名称,进行判断后得出公式。 我们采用函数的方法来实现 编写以下函数: Function fun(a As Range) b = a.Address c = ActiveSheet.Name c = CInt(c) If c = 1 Then Fun=”=”&b Elseif c=2 then fun = "=" & b & "+2!" & b Else fun = "=if(mod(" & c & ",3)=1," & b & ",if(mod(" & c & ",3)=2," & b & "+" & c - 1 & "!" & b & "," & b & "+" & c - 2 & "!" & b & "+" & c - 1 & "!" & b & "))" End If End Function 函数名:fun 参数:a,类型为单元格 变量:b为单元格地址,返回值如“$A$1”、$B$5之类的,c为工作表名,要求名称必须为数字(返回的是字符类型,CInt函数将字符函数转换为整数类型)。 函数值:函数值为字符串,字符串为 =if(mod(c,3)=1,b,if(mod(c,3)=2,b+(c-1)!b,b+(c-1)!b+(c-2)!b)) 这段字符在excel里正好是一个函数,判断函数:全局意思是如果c除以3的余数为1,则值为单元格b的值,如果C除以3的余数为2,则值为单元格B 的值加上c-1(上一张表)的单元格b的值,否则(都不是)值为单元格B的值加上c-1(上一张表)的单元格B的值再加上c-2(上前张表)单元格B的值。 注:将1,2单独列出是为了是c-1,c-2满足条件 这个函数计算的值是字符串,要把这个字符串变成公式并显示值还需要进一步刷新。(比如选择性粘贴-值可以变成公式,但不是值,选中单元格,把光标 指到输入栏了,回车可显示计算所得值)这里采用一个过程来处理: Sub cc() For Each c In Selection c.Value = c.Value If c.Value = 0 Then c.Value = "" End If Next End Sub 给这个宏设定一个快捷键,用法是选中要转换的单元格,按快捷键即可。 下面我们来解读一下这个宏 Cc ——是宏的名称; For ··· ··· Next ——是循环语句; Each c In Selection ——在选中的单元格中循环(注意:选中的一定要是单元格) c.Value = c.Value ——单元格的值进行刷新,值变化为值(相当于“选择性粘贴-值“) If c.Value = 0 Then c.Value = "" End If ——用空格代替值为0 的单元格。 ●不用编程直接得出工作表名的方法:在单元格内输入: =RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) 解读:这里面涉及几个函数: 1.Cell函数,返回信息函数。CELL("filename")返回工作表完整名称,如 C:\Users\Administrator\Desktop\[新建Microsoft Excel 工作表.xls]2 2.len(string)返回字符段长度,如len(“www”)=3 Find(string,string),返回字符在字符串中的位置(编号),如 Find(“人”,“中华人民共和国”)=3 3.right(string,number)返回字符串最右边的几个数。如rihgt(“12345”,2)=45
本文档为【vba应用实例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_624976
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:0
分类:互联网
上传时间:2019-03-28
浏览量:3