在平时的工作中,由于经常用到word和execl在每个页面,或者每段内容进行一些重重复复的工作,所以了解了VBA之后就开始从简单的录制宏开始,步入了vb代码的业余爱好,同时它也让我从重复的操作中解放了出来。
言归正传,首先说一下这个VBA实现的功能:
1,因为打印排版的问题,有一些桩会被表头隔开,所以用了一个二维数组,把它们都存到数组中。
2,因为需要应对以后不同的桩的编号,所以能够手动输入桩的前三位。只要跟这三位字符匹配的桩都能够自动计算。
3,能够识别三个以上相同的桩中,如果有中桩,也就是位置为0的情况,则按有中桩的方法计算 。其他无论出现两个,四个还是八个桩,只要没有中桩,按相邻两行的桩进行计算坡率。
4.编写了坡率的计算函数,坡率 = 高低差/宽度差*100
在表格中如下图:
K0+480有四个,但没有中桩,自动计算后数据如选择的列单元格所示
K0+640的第二个桩,在设计那一列中为空,所以会跳过,不参与计算,但它的数据用于K0+640的第一个桩的计算
K0+820的中桩在第二个的位置,并且还有第三个K0+820被表头隔开了
部分代码如下图所示:
具体代码就不公布了,比较肝了好些天,人也瘦了几斤;如果有需要,可以请我吃一份太二酸菜鱼,就把代码送给你,还可以帮忙匹配对应的表格,哈哈!