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

主站蜘蛛池模板: 亚洲国模精品一区| 五月天综合婷婷| 色综合久久88| 国产免费自拍视频| 漂亮人妻被中出中文字幕久久| a亚洲天堂| 欧美成人日韩| 亚洲国产中文精品va在线播放| 精品视频第一页| 亚洲中文在线视频| 免费欧美一级| 国产18在线| 四虎永久在线| 日韩国产黄色网站| 99九九成人免费视频精品 | 国产流白浆视频| 欧美曰批视频免费播放免费| 免费高清毛片| 国产黄在线免费观看| 亚洲国产AV无码综合原创| 国产精品亚洲va在线观看| 亚洲色图综合在线| 国产午夜在线观看视频| 91精品专区| 91在线视频福利| 一区二区三区国产精品视频| 国产一二三区在线| 久久96热在精品国产高清| 国产精品私拍在线爆乳| 亚洲国产成人精品无码区性色| 国产网站一区二区三区| 久久一色本道亚洲| 亚洲AV无码久久精品色欲| 国产91无毒不卡在线观看| 国产原创自拍不卡第一页| 99re66精品视频在线观看| 91成人精品视频| av尤物免费在线观看| 青青青视频91在线 | 2021最新国产精品网站| 国产剧情伊人| 欧美日本一区二区三区免费| 国模极品一区二区三区| 久久美女精品| 欧美综合中文字幕久久| 日本成人一区| 亚洲天堂伊人| 成人av专区精品无码国产| 精品综合久久久久久97| 无码精品福利一区二区三区| 国产一区三区二区中文在线| 亚洲成人黄色在线| 四虎精品免费久久| 免费一级α片在线观看| 91麻豆精品国产91久久久久| 日韩高清在线观看不卡一区二区| 国产色婷婷| 天堂成人av| 国产午夜精品一区二区三| 日本在线视频免费| 亚洲国产精品日韩欧美一区| 青青草国产免费国产| 欧美a级在线| 伊人久久影视| 毛片在线播放a| 欧美成人A视频| www.亚洲色图.com| 91色在线观看| 中文无码精品a∨在线观看| 亚洲 欧美 偷自乱 图片| 国产一级毛片yw| 久久精品人人做人人爽| 国产精品永久不卡免费视频| 波多野结衣一区二区三区AV| 无码在线激情片| 国产超碰在线观看| 四虎永久免费在线| 91福利免费| 国产在线精品网址你懂的| 久久99这里精品8国产| 亚洲第一视频免费在线| 国产自在线拍|