ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:131.03KB ,
资源ID:9967540      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9967540.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用VBA实现定期检验中的计算.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用VBA实现定期检验中的计算.docx

1、用VBA实现定期检验中的计算用VBA实现压力容器压力管道定期检验中的计算云南云天化无损检测有限公司 陈兴友摘要:Excel,VBA,压力容器,压力管道,定期检验,计算。 VBA是Visual Basic For Applications的简称,它是微软公司开发,建立在Office中的一种应用程序开发工具,是一种程序语言。在Excel中,利用VBA可以有效扩展Excel的功能,设计和构建人机交互界面,打造自己的管理系统,帮组Excel用户更有效地完成一些基础操作、函数公式等很难完成的任务。在压力容器、压力管道定期检验中,经常遇到各类计算,当从现场采集各类数据后,要迅速的得到结果,就需要借助VBA

2、。本文介绍通过Excel VBA实现快速计算功能。定期检验中的计算主要有:压力容器:1、强度校核;2、凹坑G0计算;3、非圆形缺陷定级;压力管道:1、强度校核;2、未熔合定级;3、局部减薄计算。下面分别介绍如下:1、 压力容器强度校核分别按应用较多的部件进行设计:内压圆筒、内压球壳、内压椭圆封头。椭圆封头把标准封头和非标准封头分别列开计算。其他按顺序分别计算即可。下图为典型的计算过程:2、 压力容器无量纲G0计算先设计输入项:条件判断与计算1-4项为手工判断,5-8项为程序自动判断。G0=C/T*(A/(RT)0.5,G0通过需程序自动计算,G00.1,则凹坑允许存在。程序部分代码:Range

3、(Q15).Value = 通过Range(Q15).Font.Bold = TrueRange(Q15).Font.color = RGB(255, 0, 0)G = c * a / (t * (R * t) 0.5) 计算G0Range(Q16).Value = G 为单元格Q16复制Range(Q16).Font.Bold = TrueRange(Q16).Font.color = RGB(255, 0, 0)Range(Q17).Font.Bold = TrueRange(Q17).Font.color = RGB(255, 0, 0)If G = 0.1 ThenRange(Q17)

4、.Value = 不允许End If3、 压力容器非圆形缺陷定级非圆形缺陷定级主要指:未熔合、未焊透、条状夹渣。分别按一般压力容器和有特殊要求的压力容器进行计算。我们看一般压力容器纵缝未熔合定级(其他类同),H0.1t且H2,L2t时定3级(H为缺陷自身高度,L为缺陷长度,t为板厚)。那么超出上述尺寸应该定4级,低于上述尺寸应该定2级。我们可以用一个函数来实现:Public Function 容器未熔合a(H, L, t As Single) As StringIf H = Then容器未熔合a = -级GoTo EscElseIf H = 0.1 * t And H = 2 And L =

5、0.67 * t Then 定2级的情况容器未熔合a = 2级ElseIf H = 0.1 * t And H = 2 And L 0.5 * c ThenFusionx = GC1级管道,当单个焊接接头未熔合的总长度大于焊接接头长度的50%时,定4级。ElseIf GC = ThenFusionx = -ElseIf GC = GC1 Or GC = GC2 Or GC = GC3 ThenSelect Case tCase 0 To 2.49If L 0 ThenFusionx = 存在未熔合时,定4级End IfCase 2.5 To 3.99If H = 0.15 * t And H

6、0.5 ThenFusionx = 不超过0.15t且不超过0.5mm不影响定级ElseFusionx = 超过0.15t或0.5mm,定4级End IfCase 4 To 7.99If H = 0.15 * t And H 1# ThenFusionx = 0.15t与1.0mm中的较小值ElseIf H = 0.2 * t And H 1.5 ThenFusionx = 0.20t与1.5mm中的较小值ElseFusionx = 超过0.20t与1.5mm中的较小值End IfCase 8 To 11.99If H = 0.15 * t And H 1.5 ThenFusionx = 0.

7、15t与1.5mm中的较小值ElseIf H = 0.2 * t And H 2# ThenFusionx = 0.20t与2.0mm中的较小值ElseFusionx = 超过0.20t与2.0mm中的较小值End IfCase 12 To 19.99If H = 0.15 * t And H 2# ThenFusionx = 0.15t与2.0mm中的较小值ElseIf H = 0.2 * t And H = 20If H 3# ThenFusionx = 超过3.0mmElseIf H = 0.2 * t And H 5# ThenFusionx = 0.20t与5.0mm中的较小值Els

8、eFusionx = 超过0.20t与5.0mm中的较小值End IfEnd SelectEnd IfEnd Function操作界面如下:6、 压力管道局部减薄计算局部减薄计算是所有计算中最为复杂的计算。涉及的参数多,过程复杂。首先看看输入参数(7个):下面是过程参数与计算结果:通过函数score实现定级:Public Function score(GC, p, b As String, t, c, H As Single) As StringApplication.Volatile TrueSelect Case GCCase Is = score = -级GC1管道Case Is = G

9、C1P0.3PL0条件If p = P0.3PL0 ThenSelect Case bCase Is = B/(D)0.25If H = (0.3 * t - c) Thenscore = 2级ElseIf H = (0.35 * t - c) Thenscore = 3级Elsescore = 4级End IfCase Is = 0.25B/(D)0.75If H = (0.2 * t - c) Thenscore = 2级ElseIf H = (0.3 * t - c) Thenscore = 3级Elsescore = 4级End IfCase ElseIf H = (0.15 * t

10、- c) Thenscore = 2级ElseIf H = (0.2 * t - c) Thenscore = 3级Elsescore = 4级End IfEnd SelectEnd If*0.3PL0P0.5PL0条件If p = 0.3PL0P0.5PL0 ThenIf b = B/(D)0.25 ThenIf H = (0.15 * t - c) Thenscore = 2级ElseIf H = (0.2 * t - c) Thenscore = 3级Elsescore = 4级End IfElseIf b = 0.25B/(D)0.75 Or b = 0.75B/(D)1.00 The

11、nIf H = (0.1 * t - c) Thenscore = 2级ElseIf H = (0.15 * t - c) Thenscore = 3级Elsescore = 4级End IfEnd IfEnd If*GC2或GC3管道Case Is = GC2, GC3P0.3PL0条件If p = P0.3PL0 ThenSelect Case bCase Is = B/(D)0.25If H = (0.33 * t - c) Thenscore = 2级ElseIf H = (0.4 * t - c) Thenscore = 3级Elsescore = 4级End IfCase Is =

12、 0.25B/(D)0.75If H = (0.25 * t - c) Thenscore = 2级ElseIf H = (0.33 * t - c) Thenscore = 3级Elsescore = 4级End IfCase ElseIf H = (0.2 * t - c) Thenscore = 2级ElseIf H = (0.25 * t - c) Thenscore = 3级Elsescore = 4级End IfEnd SelectEnd If*0.3PL0P0.5PL0条件If p = 0.3PL0P0.5PL0 ThenIf b = B/(D)0.25 ThenIf H = (

13、0.2 * t - c) Thenscore = 2级ElseIf H = (0.25 * t - c) Thenscore = 3级Elsescore = 4级End IfElseIf b = 0.25B/(D)0.75 Or b = 0.75B/(D)1.00 ThenIf H = (0.15 * t - c) Thenscore = 2级ElseIf H = (0.2 * t - c) Thenscore = 3级Elsescore = 4级End IfEnd IfEnd IfCase Elsescore = -级MsgBox 请用下拉菜单输入管道级别!End SelectEnd Fun

14、ctionPublic Function scoreN(GC, p, b As String, t, c, H As Single) As StringApplication.Volatile TrueGC1管道If GC = ThenscoreN = 无End IfIf GC = GC1 ThenP0.3PL0条件If p = P0.3PL0 ThenSelect Case bCase Is = B/(D)0.25If H = (0.3 * t - c) ThenscoreN = 0.30t-CElseIf H = (0.35 * t - c) ThenscoreN = 0.35t-CEls

15、escoreN = 超标End IfCase Is = 0.25B/(D)0.75If H = (0.2 * t - c) ThenscoreN = 0.20t-CElseIf H = (0.3 * t - c) ThenscoreN = 0.30t-CElsescoreN = 超标End IfCase ElseIf H = (0.15 * t - c) ThenscoreN = 0.15t-CElseIf H = (0.2 * t - c) ThenscoreN = 0.20t-CElsescoreN = 超标End IfEnd SelectEnd If*0.3PL0P0.5PL0条件If

16、p = 0.3PL0P0.5PL0 ThenIf b = B/(D)0.25 ThenIf H = (0.15 * t - c) ThenscoreN = 0.15t - CElseIf H = (0.2 * t - c) ThenscoreN = 0.20t-CElsescoreN = 超标End IfElseIf b = 0.25B/(D)0.75 Or b = 0.75B/(D)1.00 ThenIf H = (0.1 * t - c) ThenscoreN = 0.10t-CElseIf H = (0.15 * t - c) ThenscoreN = 0.15t-CElsescoreN

17、 = 超标End IfEnd IfEnd IfEnd If*GC2或GC3管道If GC = GC2 Or GC = GC3 ThenP0.3PL0条件If p = P0.3PL0 ThenSelect Case bCase Is = B/(D)0.25If H = (0.33 * t - c) ThenscoreN = 0.33t-CElseIf H = (0.4 * t - c) ThenscoreN = 0.40t-CElsescoreN = 超标End IfCase Is = 0.25B/(D)0.75If H = (0.25 * t - c) ThenscoreN = 0.25t-C

18、ElseIf H = (0.33 * t - c) ThenscoreN = 0.33t-CElsescoreN = 超标End IfCase ElseIf H = (0.2 * t - c) ThenscoreN = 0.20t-CElseIf H = (0.25 * t - c) ThenscoreN = 0.25t-CElsescoreN = 超标End IfEnd SelectEnd If*0.3PL0P0.5PL0条件If p = 0.3PL0P0.5PL0 ThenIf b = B/(D)0.25 ThenIf H = (0.2 * t - c) ThenscoreN = 0.20

19、t-CElseIf H = (0.25 * t - c) ThenscoreN = 0.25t-CElsescoreN = 超标End IfElseIf b = 0.25B/(D)0.75 Or b = 0.75B/(D)1.00 ThenIf H = (0.15 * t - c) ThenscoreN = 0.15t-CElseIf H = (0.2 * t - c) ThenscoreN = 0.20t-CElsescoreN = 超标End IfEnd IfEnd IfEnd IfEnd Function结束语 通过Excel VBA很好的实现了,压力容器、压力管道定期检验中的自动计算,减轻了我公司检验员的工作量,提高了效率。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1