Excel标高计算程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Excel标高计算程序新建一个Excel文件,把Sheet1表重命名为“竖曲线”,把Sheet2表重命名为“设计标高”。(1)在竖曲线表中的A1-E1(合并)单元格输入线路名称,在A2-E2单元格中分别输入“变坡点编号”、“变坡点里程”、“变坡点标高”、“曲线半径”和“切线长”,从第三行开始输入对应数据,(2)打开VB编辑器(Alt+F11),双击工程资源管理器中“设计标高”表图标,复制以下程序到界面上,保存后返回Excel窗口,在“设计标高”表中的第一列,从第二行开始输入要计算的里程桩号,完成后,在任一单元格中双击单元格,即可看见输入结果(在第二列),本程序默认遇到桩号列空单元格时不再向下计算。DimKAsDoubleDimHAsDoubleDimP1AsDouble,P2AsDouble,P3AsDoubleDimH1AsDouble,H2AsDoubleDimR1AsDouble,R2AsDoubleDimT1AsDouble,T2AsDoubleDimD1AsDouble,D2AsDoubleDimG1AsLong,G2AsLongPrivateSubWorksheet_BeforeDoubleClick(ByValTargetAsRange,CancelAsBoolean)OnErrorResumeNextDimiAsLongDimhangAsLongDimcelln=0ForEachcellInSheets(竖曲线).Range(a3:a65536)Ifcell.ValueThenn=n+1ElseExitForEndIfNexti=2flag:P2=0P3=0hang=3IfSheets(设计标高).Cells(i,1)ThenK=Val(Cells(i,1))canshu:P1=P2D1=Val(Sheets(竖曲线).Cells(hang+1,2))D2=Val(Sheets(竖曲线).Cells(hang+2,2))H1=Val(Sheets(竖曲线).Cells(hang+1,3))H2=Val(Sheets(竖曲线).Cells(hang+2,3))P3=(H2-H1)/(D2-D1)D1=Val(Sheets(竖曲线).Cells(hang,2))D2=Val(Sheets(竖曲线).Cells(hang+1,2))H1=Val(Sheets(竖曲线).Cells(hang,3))H2=Val(Sheets(竖曲线).Cells(hang+1,3))R1=Val(Sheets(竖曲线).Cells(hang,4))R2=Val(Sheets(竖曲线).Cells(hang+1,4))T1=Val(Sheets(竖曲线).Cells(hang,5))T2=Val(Sheets(竖曲线).Cells(hang+1,5))P2=(H2-H1)/(D2-D1)IfKD1ThenSheets(设计标高).Cells(i,3)=超出:i=i+1:GoToflagIfKD2Andhangn+3Thenhang=hang+1GoTocanshuElseCallbiaogaoSheets(设计标高).Cells(i,2)=Round(H,3)EndIfElseEndEndIfi=i+1GoToflagEndSubFunctionbiaogao()AsDoubleOnErrorResumeNextG1=-1IfP2-P10ThenG1=1G2=-1IfP3-P20ThenG2=1H=0IfKD1+T1ThenH=H1+(K-D1)*P2+G1*(D1+T1-K)^2/(2*R1)ElseIfK=D2-T2ThenH=H1+(K-D1)*P2ElseIfR20ThenH=H2-(D2-K)*P2+G2*(K-(D2-T2))^2/(2*R2)ElseH=H2-(D2-K)*P2EndIfEndIfEndFunction本程序只计算单一线路的中桩标高,若想把多个线路的参数放在同一个表中时,只需对以上程序稍加改动即可。

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功