文档库 最新最全的文档下载
当前位置:文档库 › 自己编EXCEL算量表

自己编EXCEL算量表

自己编EXCEL算量表
自己编EXCEL算量表

自己编EXCEL算量表

MS Office办公软件中的电子表格EXCEL是强大的计算工具,结合造价行业的实际,和大家一起研究如何利用EXCEL进行算量的问题。

工程量计算是预算当中工作量最大的,也是预算员最费神的,所以提高算量的工作效率,成了每个预算员美好愿望,今天让我们来实现这个美好愿望吧。

先谈谈几种算量的方式:

一、传统方式算量:传统的算量工作,都是在计算稿上列出计算公式,利用计算器计算结果及汇总。其弊端是利用计算器计算结果及汇总的工作,容易出错,又费时间。

二、专业算量软件算量:现在很多造价管理软件公司推出了专门的算量软件,如广联达、鲁班、神机妙算等等。其特点是在算量软件中画好施工图,工程量的计算是软件自动计算的,增加了画图这个步骤(也是工作量最大的),少了列式计算的步骤,对于做标底是挺方便的。其弊端是软件价格高,对于工程的细部处理不灵活,对帐不方便等。

三、EXCEL算量:其整体的工作思路和传统方式算量一样,但是通过一些处理,可以减少计算及汇总的步骤,大大提高工作效率。其优点是计算灵活,对帐方便。

特别注意:EXCEL的宏安全等级必须设置为低级(excel2003中)或无(excel2000中),在“工具”-“宏“”-“安全性”中设置!

好了,开始我们今天的主题,利用EXCEL编制工程量计算表格模板。编制的关键是实现计算公式与结果兼得。打开excel,保存为“工程量计算模板”,模板编制步骤:

一、设计界面:

1)、选择shellt1工作表,双击命名为“计算稿”,按图设计好界面:

注意:“项目名称”需要2列,D列输入“项目名称”用,F列输入“构件名称”用。2)、选择shellt2工作表,双击命名为“单位库”,在A列的第1行开始逐行输入常用的计量单位,如:m3、m2、m….(操作技巧:输入平方“m2”,只需输入m后,按住“ALT”输入数字键盘“178”,m3输入“179”)

一、单元格设置:

1)、在“计算稿”工作表中设置计量单位下拉菜单:在菜单栏中,点击“插入”→“名称”→“定义”,出现弹出窗口如下:

在当前工作薄中的的名称下面输入“dw”,按“添加”,在“引用位置”输入“=单位库!$A:$A”,按“确定”关闭窗口。

选择“计算稿”工作表C5(K5)单元格,在菜单栏中,点击“数据”→“有效性”,出现

在“设置”→“有效性条件”中,“允许(A)”下面选择“序列”,“来源(S)”下面输入“=dw”,在“忽略空值(B)”和“提供下拉箭头(I)”前面打勾,按“确定”关闭窗口。我们再选择“计算稿”工作表C5(K5)单元格,这时,该单元格的右边会出现一个下拉箭头,点击这个箭头,选择我们需要的单位就可以了。如要添加单位,在“单位库”工作表的A列下面添加,“计算稿”工作表C5(K5)单元格会自动添加的。

2)、在“计算稿”工作表选择F5单元格,点右键选择“设置单元格格式”,在“数字”选项中选择“自定义”,在右边的“类型”中输入“@"轴"”,按“确定”关闭窗口,对齐方式采用“右对齐”。H5单元格也进行同样单元格设置,对齐方式采用“左对齐”。选择I5单元格按上进行单元格设置,在“类型”中输入“@"="”,对齐方式采用“右对齐”。进行上述操作后,我们在输入部位轴线和计算公式时候就不需要输入“轴”字和“=”符号了。

3)、在“计算稿”工作表选择G5单元格,输入公式“=IF(F5<>"","│","")”,其中“│”是分隔符。公式的结果是,如果F5是空白,则G5为空白,如果F5不是空白,则G5显示“│”分隔符。

4)、设置公式和结果兼得公式(最关键步骤):在菜单栏中,点击“插入”→“名称”→“定义”,在当前工作薄中的的名称下面输入“X”,按“添加”,在“引用位置”输入

“=EVALUATE(SUBSTITUTE(SUBSTITUTE(计算稿!$I5,"[","*ISTEXT(""["),"]","]"")"))”,按“确定”关闭窗口,公式中“计算稿!$I5”表示“计算稿”工作表需要列式计算的“I5”单元格。在J5单元格输入公式“=IF(I5="","",x)”,公式中的“X”就是我们刚刚定义的名称,公式的结果是:如果I5是空白,则J5为空白,如果I5不是空白,则J5显示I5计算公式的结果。我们来验证一下公式:在I5输入计算公式“0.24[墙厚]*(3.5[墙长]*(2.9-0.4[扣梁高])-1.2*1.8[扣窗洞C1022])”,回车,J5就自动出来计算结果“1.582”了。(操作技巧:计算公式的文字说明,如“墙厚、墙长”等,必须用“[]”括起,而且只能紧跟在数字后面) 4)、在“计算稿”工作表选择B5单元格,输入公式“=IF(C5="","",J5)”,公式的结果是,如果C5是空白,则B5为空白,如果C5不是空白,则B5显示J5的数据。该公式的作用是,如果该行分项的计算公式只有一行,则B5自动提取J5的数据。如果该行分项的计算公式有多行,则这个公式就不起作用了,至于如何修改公式,我后面会提到。

5)、在“计算稿”工作表选择“A5:D5”单元格,点击菜单栏的“格式”→“条件格式”,出现设置“条件格式”窗口如下:

在“条件1(1)”下面选择“单元格数值”→“不等于”→“=""”,按右边的“格式”出现设置“单元格格式”窗口如下:

选择“图案”选项,选一个自己喜欢的颜色,颜色要浅色,不能是深色,按“确定”关闭“单元格格式”窗口,再按“确定”关闭“条件格式”窗口。该步骤的作用是用颜色来区分汇总行与计算行的。

6)、在“计算稿”工作表选择“A5:K5”单元格,把光标放在K5单元格右下角的黑色小方块上面,当光标由“空心十字”变为“实心十字”时,按住左键向下拉,我们暂时向下拉100行。

7)、在“计算稿”工作表选择A5单元格,点击菜单栏的“窗口”→“冻结窗格”,这样,无论我们把右边的滚动条向下拉多少行,都能看到标题了。至此,我们已经设计好整个表格了,下面看看最终效果:

对上图,我做个补充。因为定额编号为“1D0005”的分项工程有2行计算式,B5单元

格的公式“=IF(C5="","",J5)”就没有用了,我们在第10行增加了一个汇总行,其中J10单元格直接用EXCEL的自动求和功能,然后把B5单元格的公式改为“=J10”就可以了,有2行以上计算式的情况同样处理。像定额编号为“1E0528”的分项工程,由于只有一行计算式,所以B11单元格的公式我们就不需要修改了。(操作技巧:每个分项工程量的汇总行前面空2行,方便以后修改)。

二、打印设置:

主要解决难点:我们的表格只有一个标题,但是肯定会有很多页,我们要解决每页都有标题的问题。

选择“计算稿”工作表,进入菜单栏“文件”→“页面设置”,出现窗口如下:

在选项“页面”中,选择“横向(L)”;在“页边距”的“居中方式”选择“水平”;在“页眉/页脚”→“自定义页脚”→“右(R):”下面输入“第&[页码]页共&[总页数]页”后按“确定”关闭窗口;在“工作表”→“打印区域”中输入“A:K”,在“打印标题”→“顶端标题行”中输入“$1:$4”后按“确定”关闭“页面设置”窗口。(操作技巧:我们可以用

按钮来使用鼠标选择打印、标题区域)。好了,我们可以用EXCEL的预览功能看看整个

效果,如需调整,点击“分页预览”,调整蓝色粗线到合适位置,然后就可以打印了。

通过以上步骤,我们基本把算量模板编制好了,这个编制方法应该来说是最简单的了,因为没有用到VBA,用VBA还可以进行很多功能设置,譬如“选择任意单元格,改行自动填充颜色用以区分其它行”等等,但是对于EXCEL普通用户,VBA还是比较难懂的。大家不一定要按我的界面,我只是提供一种编制方法,至于界面,大家可以根据自己需要设置,其中的单元格设置方法大家可以参考一下。

Excel(ESteel)自定义函数源代码

Public Function DJ(钢筋直径As Single, 最小搭接直径As Single, 搭接类别As String, 机械接头As String, 锚固As Single) Dim x As Integer, X1 As Integer, X2 As Integer, a As Integer If 钢筋直径> 0 Then a = 1 Else a = 0 End If If 钢筋直径> 最小搭接直径Then If 机械接头= "双面焊10D" Then DJ = 钢筋直径+ 2 End If If 机械接头= "单面焊5D" Then DJ = 钢筋直径/ 2 + 2 End If If 机械接头= "直螺纹" Then DJ = 0 End If End If If 钢筋直径<= 最小搭接直径Then If 搭接类别= "腰筋G" Then DJ = 钢筋直径* 1.5: x = 1 End If If 搭接类别= "搭接100%" Or 搭接类别= "构造柱" Then DJ = MAX(锚固* 1.6, 30, 0, 0) * a: X1 = 1 End If If 搭接类别= "Q" Or 搭接类别= "Z" Or 搭接类别= "搭接25%" Then DJ = MAX(锚固* 1.2, 30, 0, 0) * a: X2 = 1 End If If x + X1 + X2 = 0 Or 搭接类别= "" Then DJ = MAX(锚固* 1.4, 30, 0, 0) * a End If End If End Function Public Function MG(抗震级别As Single, 钢筋级别As Single, 砼号C As Single, 钢筋直径As Single) Dim j As Single Dim k As Single Dim g As Single If 钢筋直径>= 28 Then If 钢筋级别>= 2 Then j = 1.1 Else j = 1

Excel钢筋工程量自动计算表格.doc

工程名称:粉煤灰库 序号构件名称编号 直 径 根数计算式根数筋长计算式m 一、环形基础 单根长 度 件 数 重量kg 备注 1 环形基础上下环筋25 11+11 #NAME? 15.25*3.14+ (50-31)*0.025*6 #NAME? 1 #NAME? 2 环形基础上部环筋12 0.5/0.2*2 6 15.25*3.14+ (50-31)*0.012*6 #NAME? 1 #NAME? 3 环形基础下部环筋25 0.5/0.15*2 8 15.25*3.14+ (50-31)*0.025*6 #NAME? 1 #NAME? 4 外层腰筋10 1.2/0.2*2 #NAME? 15.25*3.14+ (50-31)*0.01*6 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME? 0 #NAME? 0 #NAME? 1 #NAME?

Excel自定义函数157个(精)

自定义函数功能 查看代码: 自定义函数取值范围如何设定 相当于VLOOKUP 吧,查询某一值第num 次出现的值 返回指定列数的列标 用指定字符替换某字符 从右边开始查找指定字符在字符串中的位置 将20040510数字格式,转换为2004-5-10的日期格式的函数工龄计算: 计算日期差,除去星期六、星期日的自定义函数 這是一個將英文字反轉的自定函數 关于个人所得税的 一个能计算是否有重复单元的函数 试编写数字金额转中文大写的函数 人民币大小写转换函数 获取区域颜色值: 获取活动工作表名的: 显示在“插入函数”对话框的“或选择类别”下拉列表中 复合函数

对工作表的第一列进行各种查询 序数词转换函数 获取最后一行行数的: 判断是否连接在线的函数 查找一字符串(withinstr在另一字符串中 从工作表第一行的标题文字以数字形式返回所在列号多工作表有条件求和 有的时候需要返回多个数值,那就是用返回数组吧Excel 自定义函数返回一组字符串 也来个返回指定列数的列标号自定义函数 返回 Column 英文字 查找指定列名的列数 文字格式的时间(分:秒转化为数字格式(秒 将"hh:mm:ss"格式的时分秒数转换成秒数 试编写金额中文大写转数字函数 身份证号码侦测自定义函数 显示公式的函数 为财务人员理帐查找用的 数值转换为字符地址

字符地址转换为数值 VB 中用的,虽然VBA 中也有一个Application.Wait 功能得到字符串实际的长度(以单字节记) 也做个个人所得税 18位身份证最后一位有效性验证 计算符合maturity condition的拆解金额 相当于多个vlookup 函数相加, 判断表是否存在的函数 我这个是角度转弧度的,以供大家参考 比较相同的字符串 對選定的陣列進行排序 取得指定月份天數 排序工作表活頁薄 統計陣列中非重復數據個數 摘取子字符串自定义函数 根据列表返回列序号 查找某值在某区域第n 次出现时对应列的值 刪除當前工作表中的全部超連接。 取得相近數據

Excel在工程量计算中的应用

Excel在工程量计算中的应用 工程造价工作中,工程量的计算一直是工作量最大和耗时的一项繁重劳动。提高计算精度和工作效率便成为造价人一直想解决的目标。近年来已有不少专业人士利用excel强大的计算功能来提高计算精度和工作效率,并得到了人们的认可和广泛应用。 一、工程量计算的方式: 1、传统的手算:手算是在计算稿上列式,通过计算器计算结果、汇总。弊病就是计算过程中容易出现计算性错误,而且修改不方便、耗时。 2、专业软件计算:目前的算量软件种类有图形计算和表格计算两种形式。 图形算量软件又有二维、三维之分,其特点是将图形在软件中画好,由软件自行计算、汇总。但操作性要求较高,增加了画图的工作量。其缺点软件价位高,一般都在几千元,并且输出的打印量大,核对工程量困难,工程细部处理不灵活。比较适合招投标阶段的算量工作。 表格算量软件相对于图形算量软件价位低一些,一般在千元左右。其特点是计算方式类似传统的手算,增加了构件图形输入方式和多项子目关联功能,操作难度不高,工程量核对方便。其缺点是构件间的扣减关系处理困难。

3、excel算量:Excel算量的特点是计算表直接反映了设计者的意图和思路,复制粘贴、修改灵活,核对工程量方便,发现好的计算思路也易完善,可根据专业特点灵活设置。其缺点是构件间扣减关系不易处理。 二、excel工程量计算表的形式及设计思路 由于excel仍具有一定的局限性,首先考虑的是将计算表划分为什么样的输入形式才是速度最佳的。根据目前excel的应用情况,表格大致分为以下几类: 1、列式形式:这类形式和传统的手工计算方式类同,直接在表格中输入计算式,得出预算结果。虽然为列式方式,在计算式中仍可以对其进行文字说明标注,同时完成自动汇总。 2、表格直接输入形式:在设计的表格中直接输入数据,无需输入运算符列算式,计算过程通过excel内部函数设置来完成。他的特点是因减少运算符的输入,大大提高了输入速度。 3、ABC形式:这类表格中项目描述栏既可以对项目特征描述,又可以进行数据的初步计算、数据来源标注和初算合计。计算列式比列式形式少,工程量主要通过倍数与其他三个基础数据的运算关系来完成计算。输入方式具有列式和表格形式的特点并且基础数据来源明朗。所以作者本人将三个基本数据称之为ABC,这种表格为ABC计算表格(图一(1))。

VSTO4.0创建EXCEL自定义函数

前段时间装了个visual studio 2010,试着用里面的VSTO4.0,但是对如何生成一个自定义函数始终搞不明白(之前也看了《VSTO开发指南》,但觉得里面所讲的东西太泛了,而且版本不一样,形式也改变了不少),终于在网上看到有人写出一个完整的过程(原文请看https://www.wendangku.net/doc/ae17062184.html,/brooks-dotnet/archive/2011/01/16/1936871.html),但在实操中还是有不少问题,但经过多次尝试,终于解决了所遇到的问题,现在我就根据原文的内容以及建立过程中所遇到的问题,重新整理后讲述建立一个自定义函数的过程。 一、启动VS2010,(这里尝试着用C#来编写)新建一个类库,填好名称之后按确定,开始编码。 二、进入编程界面后,先引用必须的类库 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; using Microsoft.Win32; using Microsoft.Office.Interop.Excel 设置GUID及COM的一些特性 [Guid("A4AAE79B-9587-4014-BABB-966C5DF76C83")] [ClassInterface(ClassInterfaceType.AutoDual),ComVisible(true)] 如图示:

Guid这个标识码可用LINQPad程序来获取(可从https://www.wendangku.net/doc/ae17062184.html,/下载) 在类中,除了有函数主体外,还必须有注册及注销时的行为语句,所以必须添加以下语句:#regi on COM Related [ComRegisterFunction] public static void Regi sterFunction(Type type) { Registry.ClassesRoot.CreateSubKey(GetSubKeyName(type, "Programmable")); var key = Registry.ClassesRoot.OpenSubKey(GetSubKeyName(type, "InprocServer32"), true); key.SetValue("", Environment.SystemDirectory + @"\mscoree.dll", Regi stryValueKind.String); } [ComUnregisterFunction] public static void Unregi sterFuncti on(Type type) { Registry.ClassesRoot.DeleteSubKey(GetSubKeyName(type, "Programmable"), false); } private static string GetSubKeyName(Type type, string subKeyName)

Excel自定义函数实例集锦文章

在Excel中自定义函数 Excel函数虽然丰富,但并不能满足我们的所有需要。我们可以自定义一个函数,来完成一些特定的运算。下面,我们就来自定义一个计算梯形面积的函数: 1.执行“工具→宏→Visual Basic编辑器”菜单命令(或按“Alt+F11”快捷键),打开Visual Basic编辑窗口。 2.在窗口中,执行“插入→模块”菜单命令,插入一个新的模块——模块1。 3.在右边的“代码窗口”中输入以下代码: Function V(a,b,h) V = h*(a+b)/2 End Function 4.关闭窗口,自定义函数完成。 以后可以像使用内置函数一样使用自定义函数。 提示:用上面方法自定义的函数通常只能在相应的工作簿中使用。

经验分享Excel中自定义函数实例剖析 一、认识VBA 在介绍自定义函数的具体使用之前,不得不先介绍一下VBA,原因很简单,自定义函数就是用它创建的。VBA的全称是Visual Basic for Ap pli ca tion,它是微软最好的通用应用程序脚本编程语言,它的特点是容易上手,而且功能非常强大。 在微软所有的Office组件中,如Word、Access、Powerpoint等等都包含VBA,如果你能在一种Office组件中熟练使用VBA,那么在其它组件中使用VBA的原理是相通的。 Excel中VBA主要有两个用途,一是使电子表格的任务自动化;二是可以用它创建用于工作表公式的自定义函数。 由此可见,使用Excel自定义函数的一个前提条件是对VBA基础知识有所了解,如果读者朋友有使用Visual Basic编程语言的经验,那么使用VBA时会感觉有很多相似之处。如果读者朋友完全是一个新手,也不必太担心,因为实际的操作和运用是很简单的。 二、什么时候使用自定义函数? 有些初学Excel的朋友可能有这样疑问:Excel已经内置了这么多函数,我还有必要创建自己的函数吗? 回答是肯定的。原因有两个,它们也正好可以解释什么时候使用Excel自定义函数的问题。 第一,自定义函数可以简化我们的工作。 有些工作,我们的确可以在公式中组合使用Excel内置的函数来完成任务,但是这样做的一个明显缺点是,我们的公式可能太冗长、繁琐,可读性很差,不易于管理,除了自己之外别人可能很难理解。这时,我们可以通过使用自定义函数来简化自己的工作。 第二,自定义函数可以满足我们个性化的需要,可以使我们的公式具有更强大和灵活的功能。 实际工作的要求千变万化,仅使用Excel内置函数常常不能圆满地解决问题,这时,我们就可以使用自定义函数来满足实际工作中的个性化需求。

excel中161个VBA_自定义函数(超级实用)(精)

目录 '1.函数作用:返回 Column 英文字 (9) '2.函数作用:查询某一值第num 次出现的值................9 '3.函数作用:返回当个人工资薪金所得为2000元(起征点为850元时的应纳个人所得税税额.............................10 '4.函数作用:从形如"123545ABCDE"的字符串中取出数字....11 '5.函数作用:从形如"ABCD12455EDF"的字符串中取出数字...11 '6.函数作用:按SplitType 取得RangeName 串值中的起始位置12 '7.函数作用:将金额数字转成中文大写....................13 '8.函数作用:计算某种税金..............................18 '9.函数作用:人民币大、小写转换........................19 '10.函数作用:查汉字区位码.............................20 '11.函数作用:把公元年转为农历.........................21 '12.函数作用:返回指定列数的列标.......................42 '13.函数作用:用指定字符替换某字符.....................43 '14.函数作用:从右边开始查找指定字符在字符串中的位置...43 '15.函数作用:从右边开始查找指定字符在字符串中的位置...44 '16.函数作用:计算工龄.................................44 '17.函数作用:计算日期差,除去星期六、星期日.. (45) '18.函数作用:将英文字反转的自定函数 (46) '19.函数作用:计算个人所得税...........................46 '20.函数作用:一个能计算是否有重复单元的函数...........47 '21.数字金额转中文大写................................48 '22.函数 作用:将数字转成英文...........................49 '23.函数作用:人民币大小写转换.........................52 '24.函数作用:获取区域颜色值...........................53 '25.函数作用:获取活动工作表名.........................53 '26.函数作用:获取最后一行行数. (54) '27.函数作用:判断是否连接在线.........................54 '28.函数作用:币种转换.................................54 '29.函数作用:检验工作表是否有可打印内容...............55 '30. 函数作用:查找一字符串(withinstr在另一字符串中(findstr1中某一次(startnum出现 时的位置,返回零表示没找到。..................................................57 '31.函数作用:增加文件路径最后的“\”符号..............58 '32.函数作用:计算所得税...............................58 '33.函数作用:从工作表第一行的标题文字以数字形式返回所在列号..................................................58 '34.函数作用:在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和..........................59 '35.函数作用:返回

用VBA编写Excel自定义的累加函数

用VBA编写Excel自定义的累加函数 郑云勇 云南楚雄思远投资有限公司 摘要:Excel是常用的数据统计分析软件,本文介绍了用VBA编写加载宏的方法来扩展、定制Excel,以适合工程统计专业的特殊需要。下面,讨论如何实现一个自定义的具有任意合计形如“30.2m/165.45m3”的“分子/分母”工程量统计功能的函数,由于Sum函数系统已经内置,我们要实现的函数不妨命名为uLSum和uRSum。 关键词:Excel,定制,加载宏 1引言 电子表格软件Microsoft Excel具有快捷方便的数据输入方式和强大的数据处理能力,是工程地质中常用的数据统计分析软件,为我们的工作带来了极大的方便。但Excel毕竟只是一个通用的办公软件,对于工程专业中的各种特殊需求,它自然不会有专门的功能支持。比如:采矿工程师在做每年的采掘生产计划时,通常遇到要累加掘进工程量的合计数,即“30.5/125.6”加“120.2/625.8”的合计,我们通常的做法是分步完成,先将分子之、分母之和求出来后,在填入单元格中。或者将分子、分母分别填入两列中,分别用sum函数求和。这样既劳神,又容易出错,特别是对大量数据进行复杂的公式计算。如果从头编写一个独立、专门的计算程序来处理,则似有小题大作之嫌,而且还不能与Excel无缝集成。那么有

没有更好的解决办法呢?答案是肯定的,那就是定制Excel,通过编程扩展它的功能。 事实上,Excel作为Microsoft最优秀的软件之一,很早就开始提供了二次开发的接口,4.0版以前有XLM,4.0版又发布了Excel C API,5.0版则内置了VBA。现在的Excel,除了人所共知的操作功能外,还是一个完善的软件开发平台。它拥有完备的ActiveX Automation服务器和客户机机制,可以通过编程对其进行全方位的扩展、定制,实现各种自定义功能。基于ActiveX Automation技术,使用C/C++等多种支持Automation的编程语言均可控制Excel,但我们最为熟悉和常用的还是内置于Excel中的VBA。 2VBA简介 Visual Basic for Application(VBA)是Microsoft面向最终用户的应用软件编程语言。它最早出现于Microsoft的Excel和Project中,如今VBA已成为VB和所有Office产品的组件。另外,越来越多的软件开发商购买了VBA语言的使用权,如常用的绘图软件AutoCAD等均已支持VBA作为二次开发工具。这意味着我们懂得VB,就已经懂得了VBA,反之亦然。 VBA的最大特点和最大优点是利用面向对象(OOP)的ActiveX Automation技术,使语言的引擎在技术上与开发环境分离,这可以从在任何VBA的IDE环境中都可以看到VBA单独的入口得到印证。因此,VBA的功能在很大程度上依赖于它的客户显露的Automation 接口,例如,VB与Office套件中的VBA,能完成的功能就大不一样。

(完整版)Excel自定义函数方法拼音

Excel自定义函数方法: 1.启动Excel 2003 (其它版本请仿照操作) ,打开相应的工作表; 2.执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态; 3.执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑 状态; 4.将代码输入其中; 5.代码输入完成后,关闭 V isual Basic 编辑窗口,返回 Excel 编辑状态; 6. 自定义函数就可以用了,如:选中 D2 单元格,输入公式: =getpy(A2) 。 有极个别的汉字不能转换,手动就可以了!很方便了。 Function pinyin (p As String) As String i = Asc(p) Select Case i Case -20319 To -20318: pinyin =“a” Case -20317 To -20305: pinyin =“ai” Case -20304 To -20296: pinyin =“an” Case -20295 To -20293: pinyin =“ang” Case -20292 To -20284: pinyin =“ao” Case -20283 To -20266: pinyin =“ba” Case -20265 To -20258: pinyin =“bai” Case -20257 To -20243: pinyin =“ban” Case -20242 To -20231: pinyin =“bang” Case -20230 To -20052: pinyin =“bao”

VBA自定义函数选合集(代码注释)

自定义函数选 附代码注释 By 蓝桥玄霜 前言 我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,博大精深。在Excel内置函数和扩展函数中有十多个应用领域的函数,如数学与三角函数、统计函数、文本和数据函数、查找和引用函数、数据库函数、财务函数、日期和时间函数、信息函数、工程函数和宏表函数等等。 但是我们每个人还可能有各种各样的问题而不能直接应用这些函数得到解决,于是Excel也提供了VBA可以让我们自己编一个自定义函数来解决自己特定的需求。以下挑选一些自定义函数,由简到繁,附以代码注释,供大家参考。 第1例折扣函数 一、题目: 要求编写一个当销售数量大于等于100时,售价打九折的计算折扣的自定义函数。二、代码: Function Zekou(sul, jiag) As Double If sul>=100 Then Zekou =sul*jiag*0.1 Else Zekou =0 EndIf Zekou =Application.Round(Zekou,2) End Function 三、代码详解 1、Function Zekou(sul, jiag) As Double :自定义函数的开始语句。 自定义函数总是以Function开头,以End Function语句结束。自定义函数的代码一定要放在标准模块里面。 Zekou是函数名,名字可取一个较短的描述信名称,这样容易记忆。如sul数量和jiag 价格,这里用的是拼音字母。函数后括号里的两个变量叫做函数的参数。两个参数都没有显式声明数据类型,都是可变型数据类型variant。AS Double 表示函数返回值的数据类型是双精度浮点型数据。 2、If sul>=100 Then 如果sul(数量)大于等于100,那么 这是标准的If…Then…Else判断语句,意思是如果第一个条件成立,或者说满足了第一个条件,那么执行Then以后的语句;否则执行Else以后的语句。

excel自定义函数编写方法

Excel自定义函数基础教程 1.总述、编写环境与设置 自定义函数功能是Excel中一个强大的扩展功能,它可以实现不同用户的特定计算要求。以使得Excel计算自主化、专业化,可以大大简化人工劳动(查表、专业公式计算、统计等)。所以编写与使用自定义函数应是每个工程计算人员必不可少的技能。本教程为零基础教程,特为呼和浩特职业技术学院编写,如需引用或咨询请联系526949738@https://www.wendangku.net/doc/ae17062184.html,。 本教程以Excel2003为平台讲解,使用其他版本Excel的同学请参照学习。自定义函数需要应用宏编写,请进行如下设置。 工具—>宏—>安全性

写的宏了。 器,在弹出的窗口点击插入—>模块,即进入了编写环境。

选中相应的模块点击文件—>导出文件,就可以存储.bas的源文件。这样就可以方便存储整理,以便日后引用。 2.宏的概念与Visual Basic基础 有VB编程基础的同学可跳过此章。 宏实际上就是一段用以完成某些功能的源代码,Excel中的

宏以Visual Basic(以后简称VB)编写,存储后的.bas文件可以用记事本打开,里面记录的就是编写的代码。 VB是一门高级编程语言,其语法简单易于掌握,适合初学者学习。本教程中只对VB进行初步讲解,如果需要深入学习请参照VB相关的专门书籍(Visual Basic编辑器中的帮助也有详细介绍)。 顺序、选择、循环是编程的三种结构,合理组合嵌套这三种结构就可以解决所有编程问题。默认情况下,代码按照顺序结构执行,所以下面只介绍选择和循环结构的语句表达。 选择结构: 选择结构非常常见,它的作用是使程序根据条件的不同执行不同的语句。这里我们只介绍最简单的一种语句。 If condition Then [statements] [Else elsestatements] 或者 If condition Then [statements] [ElseIf condition-n Then [elseifstatements] ... [Else [elsestatements]] End If 注释:condition:条件表达式;statements:执行语句;[]中的内容为可选内容。

自定义函数

VBA 自定义函数 一、什么是函数 一个函数就是预定的一个计算公式,可以快速地完成一个特定的计算。如:sum,index etc。 二、自定义函数 自定义函数是用户自己编写的函数;一个自定义函数就是一个function过程;编写了一个function过程就相当于编写了一个自定义函数。 三、为什么要创建自定义函数 1.简化工作,解决需要较多辅助列或使用较长公式才能完成的计算问题,比如后面的提取工作簿名称的应用。 2.解决不能用现有的工作簿函数完成的计算问题,如统计指定背景颜色的单元格个数。 下面通过一个例子来学习简单的编写自定义函数 例:下面表格中需要计算一些三角形的面积 B列是底边长,C列是高,要求在D列通过公式计算三角形面积。 (通常我们会在D3单元格用公式=B3*C3/2 来计算,然后把这个公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子,通过它来学习编写简单的自定义函数) 1、打开VBA窗口 按ALT+F11调出VBA窗口,插入一个用户模块。

2、编写代码 通常自定义函数是用function命令开始的,在这个命令后面给它指定一个名字和参数 把下面这个自定义函数代码粘贴到刚插入的用户模块中就可以使用了。 Function sjxmj(di, gao) sjxmj = di * gao / 2 End Function 这段代码非常简单只有三行,先看第一行,其中sjxmj是自己取的函数名字,括号中的是参数,也就是变量,di表示“底边长”,gao表示“高”,两个参数用逗号隔开。 再看第二行,这是计算过程,将di*gao/2这个公式赋值给sjxmj,即自定义函数的名字。再看第三行,它是与第一行成对出现的,当你手工输入第一行的时候,第三行的end function 就会自动出现,表示自定义函数的结束。 3、使用自定义函数 回到EXCEL窗口,我们在D3单元格中输入公式 =sjxmj(b3,c3) ,就会得到这一行的三角形面积了,它的使用方法同内置函数完全一样。

excel编辑工程量计算表(一看就会_再也不求人)

Excel EVALUATE函数一例(公式与结果共显) EVALUATE 是Eexcel 4.0版的宏表函数。Excel 2000、Excel 2002和Excel2003中还支持,但只可用于名称定义中。 语法:EVALUATE(formula_text) Formula_text 是一个要求值的以文字形式表示的表达式。 注:使用EVALUATE类似于在编辑栏的公式内选定一个表达式并按下了[重新计算]键(在Microsoft Excel for Windows 中是F9)。EVALUATE 用一个值来替换一个表达式。 公式与结果共显的例子: 假设C列为输入的没有等号公式(假设C1为“A1+B1”),而相邻的D列是你需要存放公式计算结果的地方(即D1显示A1和B1单元格相加的结果)。 1. 选中D1,然后打开“插入”菜单选择“名称”命令中的“定义”子命令,出现“定义名称”对话框。 2. 在“在当前工作表中的名称”输入栏中输入定义的名称“gongshi”,在下方的“引用位置”编辑栏中输入“=EVALUATE(Sheet1!C1)”,单击[确认]按钮退出。 3. 在D1中输入“=gongshi”。 4.然后选中按住右下角的填充柄向下拉动填充即可。 5.填充后要按[F9]进行重算,如果C列的公式有改动,也需要及时按[F9]进行重算。 下面我们讨论上述方法的一个主要问题。 怎样不进行第5步的[F9],使C列的公式有改动,D列的值自动更新?

答案是:D1列的公式要改成=gongshi&T(NOW())。试试是否可以自动更新了。 附:T、now函数帮助说明 T 返回value 引用的文本。 语法T(value) Value 为需要进行检验的数值。 说明:如果值是文本或引用文本,T 返回值。如果值不引用文本,T 返回空文本("")。 通常不需在公式中使用函数T,因为Microsoft Excel 可以自动按需要转换数值的类型,该函数用于与其他电子表格程序兼容。 ----------------------------------------------------------------------------------------------------------------- now 返回当前日期和时间所对应的序列号。如果在输入函数前,单元格的格式为“常规”,则结果将设为日期格式。 语法NOW( ) 说明:Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年1 月1 日的序列号是1 而2008 年1 月1 日的序列号是39448,这是因为它距1900 年1 月1 日有39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。

Excel 2010 中为自定义函数参数添加描述

Excel 2010 中为自定义函数参数添加描述 在Excel 2010 发布之前,用户已经可以为自定义函数(User-Defined Function)添加一系列的信息,比如描述等等。但是无法用常规的手段为自定义函数的参数添加描述信息。随着 Excel 2010 的发布,这个问题得到了解决。微软改进了VBA中Application对象的MacroOptions方法--在原来的基础上添加了一个 ArgumentDescriptions 参数,利用此参数就可以为用户自定义函数添加描述信息了。 以下给出一个具体例子来说明这个方法的具体应用(MacroOptions的具体说明参见备注) 代码如下: '''用户自定义函数 Function FunArgDes(int1As Integer, int2 As Integer) As Integer FunArgDes = int1 + int2 End Function '''此过程用户注册自定义函数 Sub RegUDF() Dim FuncName As String'函数名称 Dim FuncDesc As String '函数描述 Dim Category As String '函数类别 Dim ArgDesc(1) As String '函数参数描述数组 FuncName = "FunArgDes" FuncDesc = "返回两个整数的和(测试函数参数描述)" Category = "函数参数描述测试" ArgDesc(0) = "函数参数第一个,整型" ArgDesc(1) = "函数参数第二个,整型" Call Application.MacroOptions(Macro:=FuncName, Description:=FuncDesc, Category:=Category, ArgumentDescriptions:=ArgDesc) End Sub

自定义函数

自定义函数 工作中有时会遇到在编写公式时,找不到适合的EXCEL内置函数,或者虽然可以使用内置函数,但会造成公式复杂不易理解,这时就可以考虑使用自定义函数了。 编写自定义函数需要一定的VBA基础,但完成后,就可以像使用内置函数一样方便了,任何人都可以使用。 1.工具/原料 excel 2.步骤/方法 1. 1 下面通过一个例子来学习简单的编写自定义函数 2. 2 例:下面表格中需要计算一些三角形的面积 3. 3 B列是底边长,C列是高,要求在D列通过公式计算三角形面积。 4. 4 (通常我们会在D3单元格用公式 =B3*C3/2 来计算,然后把这个公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子,通过它来学习编写简单的自定义函数)

1、打开VBA窗口 按ALT+F11调出VBA窗口,插入一个用户模块。 6. 6 2、编写代码 通常自定义函数是用function命令开始的,在这个命令后面给它指定一个名字和参数 把下面这个自定义函数代码粘贴到刚插入的用户模块中就可以使用了。 Function sjxmj(di, gao) sjxmj = di * gao / 2 End Function 这段代码非常简单只有三行,先看第一行,其中sjxmj是自己取的函数名字,括号中的是参数,也就是变量,di表示“底边长”,gao表示“高”,两个参数用逗号隔开。 再看第二行,这是计算过程,将di*gao/2这个公式赋值给sjxmj,即自定义函数的名字。再看第三行,它是与第一行成对出现的,当你手工输入第一行的时候,第三行的end funct ion就会自动出现,表示自定义函数的结束。

Excel公式大全

EXCEL电子表格使用技巧大全 01、如何在已有的单元格中批量加入一段固定字符? 例如:在单位的人事资料,在excel中输入后,由于上级要求在原来的职称证书的号码全部再加两位,即要在每个人的证书号码前再添上两位数13,如果一个一个改的话实在太麻烦了,那么我们可以用下面的办法,省时又省力: 1)假设证书号在A列,在A列后点击鼠标右键,插入一列,为B列; 2)在B2单元格写入:="13" & A2 后回车; 3)看到结果为13xxxxxxxxxxxxx 了吗?鼠标放到B2位置,单元格的下方不是有一个小方点吗,按着鼠标左键往下拖动直到结束。当你放开鼠标左键时就全部都改好了。若是在原证书号后面加13 则在B2单元格中写入:=A2 & “13” 后回车。 02、如何设置文件下拉窗口的最下面的最近运行的文件名个数? 打开“工具”,选“选项”,再选“常规”,在“最近使用的文件清单”下面的文件个数输入框中改变文件数目即可。若不在菜单中显示最近使用的文件名,则将“最近使用的文件清单”前的复选框去掉即可。 03、在EXCEL中输入如“1-1”、“1-2”之类的格式后它即变成1月1日,1月2日等日期形式,怎么办? 这是由于EXCEL自动识别为日期格式所造成,你只要点击主菜单的“格式”菜单,选“单元格”,再在“数字”菜单标签下把该单元格的格式设成文本格式就行了。(0+空格键+1-2 或者1/2) 04、在EXCEL中如何使它象WORD一样的自动定时保存文件? 点击“工具”菜单“自动保存”项,设置自动保存文件夹的间隔时间。如果在“工具”菜单下没有“自动保存”菜单项,那么执行“工具”菜单下“加载宏...”选上“自动保存”,“确定”。然后进行设置即可。 05、用Excel做多页的表格时,怎样像Word的表格那样做一个标题,即每页的第一行(或几行)是一样的。但是不是用页眉来完成? 在EXCEL的文件菜单-页面设置-工作表-打印标题;可进行顶端或左端标题设置,通过按下折叠对话框按钮后,用鼠标划定范围即可。这样Excel就会自动在各页上加上你划定的部分作为表头。 06、在Excel中如何设置加权平均? 加权平均在财务核算和统计工作中经常用到,并不是一项很复杂的计算,关键是要理解加权平均值其实就是总量值(如金额)除以总数量得出的单位平均值,而不是简单的将各个单位值(如单价)平均后得到的那个单位值。在Excel中可设置公式解决(其实就是一个除法算式),分母是各个量值之和,分子是相应的各个数量之和,它的结果就是这些量值的加权平均值。 07、如果在一个Excel文件中含有多个工作表,如何将多个工作表一次设置成同样的页眉和页脚?如何才能一次打印多个工作表?

使用VBA编写自定义函数(修改版)

使用VBA编写自定义函数 前言 本教程仅适用于不懂或初学VBA的朋友。 万事开头难,VB的内容繁多庞杂,没接触过VB但想学习编程的朋友可能无所适从,然而,这也远不是一个小教程能说得明白的,所以,本教程没有讲过多的语法、函数,也没有摘录VBA帮助(可以算是主要的参考教程)里的内容,而是以口语的方式讲解编程的一个基本思路,再辅以讲解平常可能遇到情况,让学习者能基本上手编写一段简单的代码,我的目的就达到了,接下去,就是学习者自己去论坛找资料学习了。 一、VBA简介 Visual Basic for Applications(VBA)基于Visual Basic的一种宏语言,是微软用来扩展Windows的应用程序,特别是在Microsoft Office软件中执行通用的自动化(OLE)任务的编程语言。它与VB不同的是,VB的对象主要是可视化窗口,VBA的对象则主要是Microsoft Office应用程序,如EXCEL的单元格、工作表、工作薄等。由于对象不同,那么,对象的属性、方法、事件就会发生相应的变化,所以,学习VBA,或从VB转到VBA,就是要根据具体对象特性而进行不同的处理。 我们在使用EXCEL时,如果仅仅只限于简单的数据处理,那就完全没有发挥出EXCEL强大的功能,我们完全可以使用VBA让我们的工作效率大大提高。 一般情况下,我们通常编写三类程序: 1、自定义函数:它与工作表内置函数使用方法一样,使用简单,适用于固定几个参数得出结果这种类型; 2、表格处理,这种编程较为复杂,适用于对整表进行大批量量数据的处理,对表格进行美化处理等。 3、可视化窗口,可以通过窗口设置对表格数据进行处理。 以上三种并不是独立存在的,可以相互结合使用,更能发挥更大的效率。 本次讲解的主要自定义函数,从较为简单的独立的自定义函数开始,逐渐学习进行大数据处理的能力。

编写简单的EXCEL自定义函数

下面通过一个例子来学习简单的编写自定义函数 例:下面表格中需要计算一些三角形的面积 B列是底边长,C列是高,要求在D列通过公式计算三角形面积。 (通常我们会在D3单元格用公式 =B3*C3/2 来计算,然后把这个公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子,通过它来学习编写简单的自定义函数) 1.1、打开VBA窗口 按ALT+F11调出VBA窗口,插入一个用户模块。 2.2、编写代码 通常自定义函数是用function命令开始的,在这个命令后面给它指定一个名字和参数 把下面这个自定义函数代码粘贴到刚插入的用户模块中就可以使用了。

Function sjxmj(di, gao) sjxmj = di * gao / 2 End Function 这段代码非常简单只有三行,先看第一行,其中sjxmj是自己取的函数名字,括号中的是参数,也就是变量,di表示“底边长”,gao表示“高”,两个参数用逗号隔开。 再看第二行,这是计算过程,将di*gao/2这个公式赋值给sjxmj,即自定义函数的名字。 再看第三行,它是与第一行成对出现的,当你手工输入第一行的时候,第三行的end function就会自动出现,表示自定义函数的结束。 1.3、使用自定义函数 回到EXCEL窗口,我们在D3单元格中输入公式 =sjxmj(b3,c3) ,就会得到这一行的三角形面积了,它的使用方法同内置函数完全一样。 2.通过上面例子可以了解自定义函数的编写和使用方法,下面再介绍一个稍 微复杂点的自定义函数。 经常对数据进行处理的朋友可以会遇到多条件查找某一个数据,一般这种情况需要编写“数组公式”来解决,公式较长,也不易理解。

逆天!用Excel计算工程量的12个实用技巧,工程师必备!

应用Excel计算工程量时,往往需要列出和保留工程量的计算公式和计算备注,方便日后对账。今天与大家分享12种Excel的小技巧,可以大大提高工程量编制效率。 1 工程量计算公式 工程量计算公式可以更方便快捷地得出计算结果! 在很多情况下,造价人员在计算工程量时,需要列出及保留工程量的计算公式和计算备注,以方便后期的对账。如何在输入计算式和计算备注后,就能很方便地得出工程量计算结果呢?实用案例列述如下: 首先,需选中显示计算结果的单元格E2(可以理解为定位作用),然后再按以下动态图演示: 在此,解释一下这个公式 “=EVALUATE(SUBSTITUTE(SUBSTITUTE(Sheet3!D2,"*","*ISTEXT(""*"),"+","+"")"))”的注意点:除公式中的黄色标识“Sheet3!D2”的参数需要自行修改外,其他复制即可。其中Sheet3是标签名,D2是计算书所在单元格位置。 切记:上述计算书备注须用英文格式中括号"[""]"。使用此函数的Excel的文件需以(*.XLSM)格式进行保存,否则下次重新打开表格,该函数无法实现(及需重新定义该函数)。 2 Datedif函数 Datedif函数可以轻松计算出工期、租赁天数!

在大家在计算工程工期或周转性材料租赁期时,是否为每个月的31日或30日所困扰?可能会用扳手指或翻日历的笨方法计算两个日期的相隔天数?其实Datedif函数就可以帮你很轻松解决。实用案例如下: 笔者先简单解释下以下表格中的单元格D2输入的公式“=DATEDIF(B2,C2,"d")“前两个参数分别是开始日期和结束日期,第三个参数"d"是计算天数的参数,也可以改成"m"(计算月份)和"y"(计算年份)。 3 Exact函数 Exact函数可以快速查找出表格在修改前后的内容差异! 在平时的造价工作中,大家一定会碰到这样一个问题,在您已经编制了工程量清单的格式(包括清单描述、单位等),需要其他算量同事填写工程量。但他们完成填写工程量的表格是否会调整或不小心修改过原表格内容(如清单描述或单位等),你要是以一一核对或复核一下,那简直太费时间了。其实Exact函数火眼金睛,很快识别出其中的差异。比如下表中的第2、3行的B、C列的内容已有差异了。 ▼请看动态演示:

相关文档