- 13
- 0
- 约5.43千字
- 约 17页
- 2017-02-28 发布于湖北
- 举报
油田开发的过程中有很多的数据,在应用不同的软件工具的时候需要整理成不同的格式!各个油田的数据格式不同,各个软件工具的输入要求不同,这也就是至今为什么没有一个能应用很广泛的进行数据格式转换的工具的原因!但是很多技巧我们自己却能很快掌握,让工作效率提高N倍! 例子: 注释:我编写这段代码只用了十几分钟,可是写这篇技术文章却花了半天,哈哈!为人民服务了! 这里有某油田的数据一份,数据保存在一个Excel表中,打开Excel后浏览数据,Excel中有三个Sheet表,分别是Sheet1、Sheet2和Sheet3,其中数据存放在Sheet1中。数据主要是每口井的单砂体分层情况以及单砂体的物性数据。 数据如下图所示: 数据一共9列,从A列到I列,分别是井名、顶深、底深、砂厚、有效厚度、孔隙度、渗透率、含油饱和度、解释结论; 数据共8605行,一共有1百多口井,具体井数没有计算(如果想知道数数也行,不过太浪费时间,自己能计算出来,,稍候便知)。 最终想得到每口井一个的文本文件,而且是用空格分隔的,要求第二列不仅是顶深,还要加上底深,也就是把第三列的底深,插入到第二列中,使第二列形成顶深底延续的数据,而且底深对应的物性也要复制过来;同时,层和层之间的隔层段也要加进来!这么说太麻烦,看看最后形成的文件就知道了: 这就是最后形成的文件。 开始工作了,我们要在Excel中打开一个VB编辑器:Excel菜单栏==〉工具==〉宏==〉Visual Basic编辑器,界面如图: 在编辑器的菜单栏中选择“插入”==〉模块,界面变成如下情况: 这样我们就可以在界面的主编辑窗口开始编写我们的程序了。 首先我们统计有多少口井,同时确定,每口井的开始行号和结束行号: Sub macro1() 统计相同井名字的对应行号 从第几行到第几行是一口井 Dim i As Integer Dim j As Integer j = 1 ’把统计好的数字放在第一行开始 For i = 2 To 8605 ’确定循环从Sheet1的第2行到第8605行,也就是全部数据的范围 If Sheet1.Cells(i, 1) Sheet1.Cells(i + 1, 1) Then Sheet2.Cells(j, 2) = i ‘每口井结束的行号放到Sheet2中的第2列 j = j + 1 End If Next i End Sub 编写好后如图: 运行后得到Sheet2终得数据,能确定共115行,也就是共115口井 我们把每口井的开始行号也添加进取,很简单,就是上一口井的结束行号加上1就是下一口井的开始行号,第一口井的开始行号当然是2,因为在Sheet1里就是从第二行开始的,得到每口井的开始和结束的行号如下图: 然后我们要建立和井名字一样多的Sheet表,这样才能把每口井的数据从Sheet1里面复制出来,同样在编辑器里我们开始编写一个新的宏代码(代码是以Sub 宏名字()开始,以End Sub结束): Sub macro2() 添加空白的Sheet表 根据井数添加 Dim i As Integer For i = 3 To 117 ‘因为一共有115口井Sheet1和Sheet2已经占用,所以要添加到117 Sheets(i).Select Sheets.Add Sheets(i + 1).Select Sheets(i + 1).Move After:=Sheets(i) Next i End Sub 添加代码后编辑器应该如下: 继续在编辑器中填写代码: Sub macro3() 将每口井单独放到一个Sheet表里 Dim i As Integer Dim r As Integer Dim c As Integer Dim j As Integer j = 3 For i = 1 To 115 r = Sheet2.Cells(i, 1) c = Sheet2.Cells(i, 2) Sheet1.Select Sheet1.Activate Range(A r : I c).Select Selection.Copy Sheets(j).Select Sheets(j).Activate Range(A1).Select ActiveSheet.Paste Sheets(j).Name = Sheets(j).Cells(1, 1) j = j + 1 Next i End Sub 这段代码的意思就是将Sheet1中每口井的数据复制到相应的sheet表中,而且每个Sheet标的名字不再是SheetX,而是对应的井名字,如果学过V
您可能关注的文档
- ug在模具设计中的技巧.ppt
- UL588圣诞灯串测试要点详解(UL588 lighting chain).ppt
- UL1082 中文.doc
- UltraISOPortable软件ISO镜像文件制作.doc
- UL标准文件号查询.doc
- UML工具——Rational Rose.ppt
- UniDAC使用说明(简单版)1.doc
- unit 1电子练习.doc
- Unity_Pro编程培训教程第05章_变量及数据.ppt
- unity3d游戏开发之构建游戏地形的基本元素.doc
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- ATW-R3210ATW-T3201盒式发射机ATW-T3202手持式发.PDF VIP
- CoDeSys编程手册范本.doc VIP
- T_SCNA 0001—2024(成人体外膜肺氧合(ECMO)技术护理规范).pdf VIP
- 2024版危重症患儿管饲喂养护理TCNAS 45─2024图文解读学习课件.pptx
- 包裹卡提效策略与实操路径白皮书 - 【私域运营】.pdf VIP
- 汽车制造工艺基础 教学课件 王永伦 汽车制造工艺基础课程教学大纲.pdf VIP
- 2025年无人机驾驶员执照飞行器运行术语术语考试实战演练专题试卷及解析.pdf VIP
- 大学生毕业论文写作教程PPT全套教学课件.pptx VIP
- 《生态环境材料》全套教学课件.ppt
- 2026年吞咽障碍考试题含答案解析.docx VIP
原创力文档

文档评论(0)