999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Excel VBA在大斷面測(cè)量計(jì)算中的應(yīng)用

2016-01-28 00:09:07吳云霞陳麗芳黃新平

吳云霞+陳麗芳+黃新平

摘 ?要:隨著信息化的不斷發(fā)展,計(jì)算機(jī)早已成為日常辦公的工具。其中Microsoft Office Excel有著強(qiáng)大的數(shù)據(jù)處理、統(tǒng)計(jì)分析和制圖等功能,可方便繪出各種專(zhuān)業(yè)圖表,實(shí)現(xiàn)圖、文、表的完美結(jié)合。VBA編程可將各種操作集成起來(lái),使復(fù)雜的操作簡(jiǎn)單化、批量化,使處理速度大大地提高,可以開(kāi)發(fā)出非常具有實(shí)用價(jià)值的應(yīng)用程序。文章旨在探索在Excel中應(yīng)用VB編輯器編寫(xiě)大斷面測(cè)量計(jì)算程序,完成大斷面測(cè)量的分析計(jì)算自動(dòng)繪制大斷面圖的任務(wù)。

關(guān)鍵詞:VBA;大斷面測(cè)量;計(jì)算

中圖分類(lèi)號(hào):TP391.72;U172 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ?文章編號(hào):1006-8937(2016)03-0051-02

1 ?VBA簡(jiǎn)介

VBA(Visual Basic for Applications)基于Visual Basic for Windows發(fā)展而來(lái),可用于開(kāi)發(fā)Windows環(huán)境下的各類(lèi)應(yīng)用程序,是一種可視化的、面向?qū)ο蟮摹⒉捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言。它具有高效率、簡(jiǎn)單易學(xué)及功能強(qiáng)大的特點(diǎn)。用戶(hù)可以輕易把日常工作利用VBA程序代碼,高效、快速地編制出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng),使重復(fù)任務(wù)自動(dòng)化,提高工作效率。

?在Excel中,由于VBA可以直接應(yīng)用Office套裝軟件的各項(xiàng)強(qiáng)大功能,所以用Excel作為開(kāi)發(fā)平臺(tái),對(duì)于程序設(shè)計(jì)人員的程序設(shè)計(jì)和開(kāi)發(fā)更加方便快捷,只需要直接使用,減少了很多編程工作。

2 ?大斷面測(cè)量

? 傳統(tǒng)大斷面測(cè)量工作,首先是進(jìn)行岸上部分的水準(zhǔn)測(cè)量和水下部分的水深測(cè)量。岸上部分采用四等水準(zhǔn)引測(cè),實(shí)測(cè)前應(yīng)清除雜草和障礙物,在地形的轉(zhuǎn)折點(diǎn)打入有編號(hào)的木樁作為高程的測(cè)量點(diǎn)。水下部分采用有效的測(cè)深方法測(cè)得水體水面到河床面得水深。

2.1 ?大斷面測(cè)量計(jì)算

以某站某年汛前大斷面測(cè)量計(jì)算為例,采用VBA編程在Excel平臺(tái)中實(shí)現(xiàn)岸上部分的水準(zhǔn)測(cè)量計(jì)算工作。相關(guān)情況見(jiàn)表1。

利用ExcelVBA編程實(shí)現(xiàn)計(jì)算工作,計(jì)算的部分代碼如下:

………

aa = [d65536].End(xlUp).Row

For i = 5 + 2 To aa Step 2 '有間視平均高差

a1 = Cells(i, 6)

b1 = Cells(i + 1, 6)

If Cells(i, 6) <> "" And Cells(i + 1, 6) <> 0 Then

If Cells(i, 6) - Cells(i + 1, 6) > 0.05 Then

Cells(i, 7) = (a1 + (b1 + 0.1)) / 2

End If

If Cells(i, 6) - Cells(i + 1, 6) < 0.05 Then

Cells(i, 7) = (a1 + (b1 - 0.1)) / 2

End If

If Cells(i, 6) - Cells(i + 1, 6) < 0.02 And Cells(i, 6) - Cells(i +1, 6) > -0.02 Then

Cells(i, 7) = (a1 + b1) / 2

End If

End If

If Cells(i, 6) <> "" And Cells(i + 1, 6) = 0 Then '無(wú)間視平均高差的計(jì)算

Cells(i, 7) = Cells(i, 6)

End If

Next i

…….

......

For i = 5 + 2 To aa Step 2 '有間視平均高差

a1 = Cells(i, 6)

b1 = Cells(i + 1, 6)

If Cells(i, 6) <> "" And Cells(i + 1, 6) <> 0 Then

If Cells(i, 6) - Cells(i + 1, 6) > 0.05 Then

Cells(i, 7) = (a1 + (b1 + 0.1)) / 2

End If

If Cells(i, 6) - Cells(i + 1, 6) < 0.05 Then

Cells(i, 7) = (a1 + (b1 - 0.1)) / 2

End If

If Cells(i, 6) - Cells(i + 1, 6) < 0.02 And Cells(i, 6) - Cells(i + 1, 6) > -0.02 Then

Cells(i, 7) = (a1 + b1) / 2

End If

End If

If Cells(i, 6) <> "" And Cells(i + 1, 6) = 0 Then '

無(wú)間視平均高差的計(jì)算

Cells(i, 7) = Cells(i, 6)

End If

Next i

For j = 5 To aa - 2 Step 2

If Cells(j + 2, 5) <> "" Then ?'高程計(jì)算

Cells(j + 2, 10) = Cells(j, 10) '有間視

Else

Cells(j + 2, 9) = Cells(j, 10) + Cells(j + 2, 7) - Cells(j + 2, 8)

Cells(j + 2, 10) = Cells(j + 2, 9)

End If

If Cells(j + 2, 5) <> "" Then Cells(j + 2, 9) = Cells(j + 2, 10) + Cells(j + 2, 7) - Cells(j + 2, 8)

Next j

......

2.2 ?大斷面測(cè)量分析繪圖

?在每年的汛前大斷面測(cè)量中,利用測(cè)量的數(shù)據(jù)進(jìn)行繁瑣的人工繪制大斷面圖,為了更好的提高工作效率,使重復(fù)工作任務(wù)自動(dòng)化,利用VBA的制圖功能自動(dòng)繪制大斷面圖。

?通過(guò)上面的對(duì)大斷面測(cè)量計(jì)算,利用ExcelVBA編程實(shí)現(xiàn)大斷面的繪圖工作。大斷面繪制示意圖,如圖1所示。

在繪制大斷面圖時(shí),程序通過(guò)提示對(duì)話(huà)框,人工給出大斷面的左右岸的標(biāo)志,如圖2所示。

VBA編程實(shí)現(xiàn)大斷面的繪圖工作代碼如下:

Sheets("Sheet2").Select()

bb = [b65536].End(xlUp).Row

a = InputBox("請(qǐng)輸入大斷面成果開(kāi)始岸別:1為右岸,2為左岸")

If a = 1 Then Cells(1, 1) = "右岸" : Cells(bb, 1) = "左岸"

If a = 2 Then Cells(1, 1) = "左岸" : Cells(bb, 1) = "右岸"

Cells(2, 1) = "1"

For i = 3 To bb - 1

Cells(i, 1) = Cells(i - 1, 1) + 1

Next i

......

Sheets("Sheet1").Select()

Selection.AutoFilter()

Charts.Add after:=Worksheets("Sheet1") ?'

在"Sheet1"工作表之后添加新圖表工作表。

ActiveChart.ChartType = xlXYScatterSmooth '

圖表類(lèi)型為XY平滑線(xiàn)散點(diǎn)圖。

…….

ActiveChart.SetSourceData(Source:=Sheets("sheet2").Range("B:C"), PlotBy:=xlColumns) '

圖表數(shù)據(jù)來(lái)源于"結(jié)點(diǎn)坐標(biāo)"工作表的A1至B69單元格,且按列繪圖。

ActiveChart.Location Where:=xlLocationAsNewSheet

With ActiveChart

.HasTitle = True

.ChartTitle.Characters.Text = "大斷面圖" '圖表標(biāo)題"節(jié)點(diǎn)坐標(biāo)"

.Axes(xlCategory, xlPrimary).HasTitle = True

.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "起點(diǎn)距(m)" 'x軸標(biāo)題"x"

.Axes(xlValue, xlPrimary).HasTitle = True

.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "河底高程(m)" ?'y軸標(biāo)題"y"

End With

……

上述代碼中有關(guān)變量已在相應(yīng)地方作定義,并賦值。鑒于篇幅,不作詳細(xì)介紹。

利用VBA編程實(shí)現(xiàn)上述分析計(jì)算與繪制大斷面圖。在實(shí)際計(jì)算工作過(guò)程中省去了人為的重復(fù)計(jì)算,有效避免了人工計(jì)算錯(cuò)誤,極大地提高了工作效率。

3 ?結(jié) ?語(yǔ)

?大斷面測(cè)量自動(dòng)的分析計(jì)算繪圖程序已在實(shí)際工作過(guò)程中得到應(yīng)用,經(jīng)檢驗(yàn),計(jì)算成果合理,效率高,成果圖表繪制較規(guī)范,是一款較為實(shí)用的軟件。在許多水文分析計(jì)算的工作中,運(yùn)用ExcelVBA編程,可以解決很多需要重復(fù)、繁雜的統(tǒng)計(jì)計(jì)算工作,并降低錯(cuò)誤發(fā)生率,為水文工作者減輕負(fù)擔(dān),提高工作效率。

參考文獻(xiàn):

[1] 郝安華.Excel VBA在GPS坐標(biāo)轉(zhuǎn)換計(jì)算中的應(yīng)用[J].遼寧科技學(xué)院學(xué) ? 報(bào),2011,(34).

主站蜘蛛池模板: 亚洲精品无码久久毛片波多野吉| 国产内射在线观看| 久久99久久无码毛片一区二区| 91香蕉视频下载网站| 精品国产aⅴ一区二区三区| 日本人妻一区二区三区不卡影院| 国产青榴视频| 国产日韩精品欧美一区喷| 久久综合伊人 六十路| 国产精品青青| 波多野结衣一二三| 國產尤物AV尤物在線觀看| 丁香五月激情图片| 亚洲男人在线天堂| 久久久久国产精品熟女影院| 在线不卡免费视频| 久久午夜夜伦鲁鲁片不卡| 一区二区三区成人| 九九这里只有精品视频| 欧美人与牲动交a欧美精品| 黄色国产在线| 国外欧美一区另类中文字幕| 88av在线| 亚洲人成色在线观看| 国产精品无码制服丝袜| 国模私拍一区二区| 欧日韩在线不卡视频| 激情综合图区| 狠狠色噜噜狠狠狠狠色综合久| 乱码国产乱码精品精在线播放| 国产微拍一区二区三区四区| 91青青草视频在线观看的| 色噜噜综合网| 国产精品漂亮美女在线观看| 人妻91无码色偷偷色噜噜噜| 狂欢视频在线观看不卡| 国产免费人成视频网| 天堂网亚洲系列亚洲系列| 草逼视频国产| 亚洲综合色区在线播放2019| 国产原创自拍不卡第一页| 狠狠色丁婷婷综合久久| 亚洲色婷婷一区二区| 亚洲成人在线网| 日本一区高清| 欧美日韩免费在线视频| 国产好痛疼轻点好爽的视频| 午夜在线不卡| 国产精品毛片一区| 成人av专区精品无码国产| 国产成人久久777777| 又黄又湿又爽的视频| 中文字幕永久在线观看| 亚洲小视频网站| 久久综合丝袜长腿丝袜| 欧美亚洲国产精品久久蜜芽| 精品撒尿视频一区二区三区| 国产成人1024精品下载| 国产精品亚洲精品爽爽| 国产99视频在线| 国产精品欧美在线观看| 91亚洲精选| 97在线视频免费观看| 国产精品无码制服丝袜| 色香蕉影院| 精品无码一区二区三区电影| 97综合久久| 欧美h在线观看| 亚洲天堂成人在线观看| 热思思久久免费视频| 中文字幕在线观| 国产丝袜第一页| 在线va视频| 欧美中文字幕在线视频| AV不卡在线永久免费观看| 日本精品影院| 欧美翘臀一区二区三区| 国产成人精彩在线视频50| 久久综合五月婷婷| 日韩精品免费一线在线观看| 网久久综合| 国产性生大片免费观看性欧美|