亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Excel-VBA的深水井柱狀圖繪制程序的設(shè)計(jì)和實(shí)現(xiàn)

        2015-08-19 08:35:50劉守東李怡文河南省周口水文水資源勘測(cè)局
        河南水利與南水北調(diào) 2015年22期
        關(guān)鍵詞:柱狀圖標(biāo)尺單元格

        □劉守東 □李怡文(河南省周口水文水資源勘測(cè)局)

        0 引言

        繪制鉆孔柱狀圖是鑿井工作中的一項(xiàng)重要工作。隨著計(jì)算機(jī)圖形技術(shù)的普及,利用計(jì)算機(jī)繪制深水井柱狀圖取代了費(fèi)時(shí)、費(fèi)力、容易出錯(cuò)的傳統(tǒng)手工繪制方法逐漸成為了主流。目前,計(jì)算機(jī)繪制柱狀圖主要是利用MapGis、AutoCad 等商業(yè)繪圖軟件制作,往往需要大量的軟件授權(quán)費(fèi)。針對(duì)上述問(wèn)題,特別是只需要生成柱狀圖的簡(jiǎn)單繪圖場(chǎng)合,文章提出了一種新的解決方案:采用MicrosoftExcel 為基礎(chǔ)平臺(tái),利用MicrosoftExcel 內(nèi)嵌的VBA 編程環(huán)境,快速生成深水井柱狀圖。

        1 深水井柱狀圖的數(shù)據(jù)組織結(jié)構(gòu)

        如圖1所示,一張典型的深水井柱狀圖可以拆分3 個(gè)部分:表頭、深度標(biāo)尺、累進(jìn)的地層數(shù)據(jù)。表頭、深度標(biāo)尺格式固定,不需要專(zhuān)門(mén)組織數(shù)據(jù)描述,因此描述一張深水井柱狀圖只需組織數(shù)據(jù)描述累進(jìn)的地層數(shù)據(jù)即可。累進(jìn)的地層數(shù)據(jù)由一個(gè)個(gè)的地層數(shù)據(jù)組成,每一個(gè)地層數(shù)據(jù)又包含5 個(gè)屬性,分別是:層底深度、層厚、剖面、巖性、井斜。其中,剖面為填充圖形,可由地層數(shù)據(jù)的巖性屬性推出,故在程序設(shè)計(jì)中,用層底深度、層厚、巖性、井斜4 個(gè)屬性來(lái)描述一個(gè)地層數(shù)據(jù)。利用MicrosoftExcel 數(shù)據(jù)表本身的行列組織性質(zhì),柱狀圖累進(jìn)的地層數(shù)據(jù)可以如下組織:

        以數(shù)據(jù)表一行表達(dá)單個(gè)地層數(shù)據(jù),遞增的行數(shù)表達(dá)地層數(shù)據(jù)累進(jìn)的關(guān)系。以數(shù)據(jù)表中一行的前4 列表達(dá)單個(gè)地層數(shù)據(jù)的層底深度、層厚、巖性、井斜4 個(gè)屬性。

        圖1 典型深水井柱狀圖及組成部分示例圖

        如圖2所示,繪制一張深層井柱狀圖就簡(jiǎn)化為輸入以MicrosoftExcel 數(shù)據(jù)表本身行列組織結(jié)構(gòu)表達(dá)的累進(jìn)地層數(shù)據(jù)。

        2 深水井柱狀圖的描繪

        如圖1所示,一張典型的深水井柱狀圖可以拆分3 個(gè)部分:表頭、深度標(biāo)尺、累進(jìn)的地層數(shù)據(jù)。相應(yīng)的柱狀圖的描繪也是分為同樣的3 部分先后描繪。

        圖2 累進(jìn)地圖數(shù)據(jù)在MicrosoftExcel 中的表達(dá)圖

        2.1 表頭的繪制

        由于表頭格式固定且需要工作表來(lái)容納即將生成的深水井柱狀圖,故事先在工作簿中建立含有完整表頭的工作表。將事先建立的包含表頭的工作表通過(guò)VBA 操作拷貝重命名即可完成上述兩項(xiàng)任務(wù)。

        表頭繪制主要涉及對(duì)工作表對(duì)象的操作,相關(guān)模塊的偽碼如下:

        //復(fù)制“原件”工作表;

        Sheets("原件").CopyBefore:=Sheets(2);

        //將復(fù)制的工作表重命名;

        Sheets("原件(2)").Name="柱狀圖"。

        2.2 深度標(biāo)尺的繪制

        深度標(biāo)尺涉及深度數(shù)據(jù)的表達(dá)的同時(shí),還需要表達(dá)出地層數(shù)據(jù)的精度,例如層底深度最常見(jiàn)的是精確到小數(shù)點(diǎn)后一位或者兩位。MicrosoftExcel 中沒(méi)有相關(guān)的概念,為此程序設(shè)計(jì)中利用單元格行高來(lái)表達(dá)精度、將多個(gè)單元格合并來(lái)表達(dá)深度數(shù)據(jù)。以圖一所示柱狀圖為例,每個(gè)深度標(biāo)尺為25m,地層數(shù)據(jù)的精度為小數(shù)點(diǎn)后兩位。為了表達(dá)出此柱狀圖的深度和精度數(shù)據(jù),使用VBA 操作單元格對(duì)象,將繪圖區(qū)單元格行高設(shè)置為0.01,同一列的2500 個(gè)單元格合并成一個(gè)單元格,以此合并后的單元格作為一個(gè)深度標(biāo)尺。由于深度標(biāo)尺是以一定量累進(jìn)的,使用VBA 中的For-Next 語(yǔ)句構(gòu)建循環(huán),以此以上述方法依次畫(huà)出每一個(gè)深度標(biāo)尺。

        深度標(biāo)尺繪制主要涉及對(duì)單元格對(duì)象的操作,以圖一所示柱狀圖為例,相關(guān)模塊的偽碼如下:

        //柱狀圖開(kāi)始的地層深度;

        DimiBgnAsInteger;

        //柱狀圖結(jié)束的地層深度

        DimiEndAsInteger

        //計(jì)算繪圖區(qū)所需要的行數(shù)并在For-Next 循環(huán)中設(shè)置每一行行高

        ForrowCnt=5To((iEnd-iBgn)/25+1)*2500+5

        //設(shè)置一行行高

        Rows(rowCnt).RowHeight=0.01

        Next

        //計(jì)算出需要描繪的深度標(biāo)尺數(shù)量

        DimiCntAsInteger

        iTmp1=(iEnd+12.499)/25

        iTmp2=(iBgn-12.499)/25

        iCnt=iTmp1-iTmp2

        //For-Next 循環(huán)中,描繪每一個(gè)深度標(biāo)尺

        Forcnt=0ToiCnt-1

        //計(jì)算出所需要描繪深度標(biāo)尺所占單元格,并選擇

        Cells(5+cnt*2500,1).Resize(2500,1).Select

        //合并選中的單元格

        Selection.Merge

        //設(shè)置合并后單元格的字體、對(duì)其方式等各種屬性

        WithSelection

        .HorizontalAlignment=xlCenter

        .VerticalAlignment=xlBottom

        …….

        //計(jì)算當(dāng)前單元格對(duì)應(yīng)深度標(biāo)尺的深度并設(shè)置

        DimiTmpAsInteger

        iTmp=(iBgn-12.499)/25+cnt+1

        ActiveCell.Value=iTmp*25

        Next

        2.3 地層數(shù)據(jù)的繪制

        地層數(shù)據(jù)的繪制類(lèi)似于深度標(biāo)尺的繪制,不同的是:地層數(shù)據(jù)根據(jù)其層厚屬性來(lái)決定需要合并的單元格,依次在不同列的合并單元格里填充屬性數(shù)字和填充圖形。

        柱狀圖剖面列為填充圖形,由地層數(shù)據(jù)的巖性屬性推出。為此,在程序設(shè)計(jì)中,將每種巖性和其要填充的圖形單獨(dú)列出(如圖3所示)。描畫(huà)時(shí),讀取巖性屬性,利用VBA 的查找函數(shù),找出該巖性屬性所在單元行。根據(jù)查找到的行,偏移一列,讀取該單元格的圖案屬性,將查到的圖案屬性填充到柱狀圖剖面列所要填充的合并單元格中。

        圖3 巖性填充圖

        剖面列圖形填充主要涉及對(duì)VBA 的查找功能以及單元格對(duì)象屬相的賦值,以圖1所示柱狀圖為例,相關(guān)模塊的偽碼如下:

        3 結(jié)語(yǔ)

        目前該程序設(shè)計(jì)只是基于特定柱狀圖描畫(huà)(游標(biāo)刻度尺25m遞進(jìn),地層數(shù)據(jù)精確的小數(shù)點(diǎn)后兩位)設(shè)計(jì),在用戶(hù)友好性和通用性方面有所不足。在實(shí)際使用中,可將柱狀圖可變量,例如游標(biāo)刻度尺遞進(jìn)數(shù)、地層數(shù)據(jù)精確度,設(shè)計(jì)成輸入變量,根據(jù)讀取的數(shù)值描畫(huà),增加程序的通用性。同時(shí),在輸入界面加入對(duì)話(huà)框、按鈕,做到一鍵描畫(huà),增加程序的易用性。

        猜你喜歡
        柱狀圖標(biāo)尺單元格
        繪制和閱讀降水量柱狀圖
        中國(guó)人格的標(biāo)尺
        都市(2022年12期)2022-03-04 09:12:08
        如何立起廉潔自律硬標(biāo)尺?
        基于Unity3D 的冒泡排序算法動(dòng)態(tài)可視化設(shè)計(jì)及實(shí)現(xiàn)
        玩轉(zhuǎn)方格
        玩轉(zhuǎn)方格
        學(xué)好黨章,立好“四個(gè)標(biāo)尺”
        公民與法治(2020年3期)2020-05-30 12:29:42
        淺談Excel中常見(jiàn)統(tǒng)計(jì)個(gè)數(shù)函數(shù)的用法
        西部皮革(2018年6期)2018-05-07 06:41:07
        基于Android平臺(tái)的柱狀圖組件的設(shè)計(jì)實(shí)現(xiàn)
        價(jià)格調(diào)整的幾把“標(biāo)尺”
        国产一区二区三区观看视频| 毛多水多www偷窥小便| 亚洲av乱码中文一区二区三区 | 成人影院视频在线播放| 精品香蕉99久久久久网站| 久久夜色精品国产欧美乱| 久久91综合国产91久久精品| 亚洲国产成人av第一二三区| 亚洲一区二区三区蜜桃| 小蜜被两老头吸奶头在线观看| 91高清国产经典在线观看| 综合久久青青草免费观看视频| 干日本少妇一区二区三区| 激性欧美激情在线| 国产精品欧美久久久久老妞| 人妻系列少妇极品熟妇| 国产乱码人妻一区二区三区| 日本少妇被黑人xxxxx| 国产成人久久蜜一区二区| 日产一区二区三区的精品| 久久人妻少妇嫩草av| 国产成人av 综合 亚洲| 亚洲国产AⅤ精品一区二区久 | 国产一级黄色录像| 免费看黄片视频在线观看| 成 人片 黄 色 大 片| 日本一区午夜艳熟免费| 果冻国产一区二区三区| 亚洲三级视频一区二区三区| 亚洲av成人中文无码专区| 老熟妇Av| 午夜桃色视频在线观看| 欧洲熟妇色| 无码丰满少妇2在线观看| 伊人影院在线观看不卡| 日本二一三区免费在线| 亚洲伊人成综合网| 2020国产精品久久久久| av免费网站免费久久网| 中文字幕日韩一区二区不卡| 国产女人精品视频国产灰线|