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).

主站蜘蛛池模板: 鲁鲁鲁爽爽爽在线视频观看| 青青青视频蜜桃一区二区| 重口调教一区二区视频| 精品无码一区二区三区电影| 一级在线毛片| 欧美成人手机在线观看网址| 狠狠躁天天躁夜夜躁婷婷| 动漫精品中文字幕无码| 在线看片国产| 中国国产高清免费AV片| 2020国产在线视精品在| 国产网站一区二区三区| 国产黄网永久免费| 国产亚洲欧美在线中文bt天堂| 91精品国产综合久久不国产大片| 国产人人射| 欧美不卡二区| 欧美日韩国产高清一区二区三区| 亚洲第一视频网| 欧洲亚洲一区| 免费看a毛片| 国产三级视频网站| 亚洲精品视频免费观看| 亚洲福利视频一区二区| 欧美综合一区二区三区| 免费人成视频在线观看网站| 香蕉蕉亚亚洲aav综合| 永久毛片在线播| 国产成人亚洲欧美激情| 欧洲亚洲欧美国产日本高清| 黄色网页在线播放| 91精品久久久无码中文字幕vr| 日韩a在线观看免费观看| 91美女在线| 国产黑丝一区| 99视频全部免费| 成人在线观看一区| 亚洲看片网| 日韩精品无码不卡无码| 全裸无码专区| 欧美亚洲国产日韩电影在线| 91热爆在线| 亚洲综合欧美在线一区在线播放| 国产亚洲精品97在线观看| 久久婷婷五月综合97色| 久久国产免费观看| 九九九久久国产精品| 国产爽妇精品| 欧美黑人欧美精品刺激| 国产精品成人啪精品视频| 40岁成熟女人牲交片免费| 国产在线无码av完整版在线观看| 亚洲AV无码一区二区三区牲色| 精品国产成人a在线观看| 久久伊人久久亚洲综合| 久久久久久久97| 亚洲天堂区| 欧美日韩成人在线观看| www亚洲天堂| 毛片网站免费在线观看| 成人在线欧美| 亚洲一级毛片| 精品国产免费人成在线观看| 久久黄色视频影| 丁香五月激情图片| 无码精品福利一区二区三区| 日韩国产综合精选| 国国产a国产片免费麻豆| 亚洲男人在线天堂| 亚洲日本在线免费观看| 无码av免费不卡在线观看| 国产成人高清精品免费软件| 色悠久久久| 亚洲国产综合精品一区| 国产成人亚洲欧美激情| 亚洲成人黄色网址| 欧美另类第一页| 国产成人精品18| 国产精品无码影视久久久久久久| 免费无码一区二区| 国产原创演绎剧情有字幕的| 五月婷婷伊人网|