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

煤礦材料單耗統(tǒng)計中VBA程序的應(yīng)用

2011-12-31 00:00:00張斌張魯花

摘要:針對材料單耗統(tǒng)計中,數(shù)據(jù)龐大、過程繁瑣、費(fèi)時費(fèi)力的問題,利用vba程序?qū)崿F(xiàn)快速準(zhǔn)確統(tǒng)計分類的目的。

關(guān)鍵詞:VBA EXCEL 單耗統(tǒng)計

在信息處理技術(shù)高速發(fā)展的今天,美國MicroSoft公司的Office系列辦公自動化軟件以其功能強(qiáng)大、使用方便成為幾乎所有辦公電腦中必備的軟件。Office軟件提供的圖文混排、文字編輯、電子表格處理等在工作中發(fā)揮了巨大的作用,成為數(shù)據(jù)統(tǒng)計、分析不可缺少的工具。只要和數(shù)據(jù)打交道的工作,Excel幾乎是必然的選擇。

1 問題的提出

為加強(qiáng)礦井精細(xì)化管理,提高經(jīng)濟(jì)效益,降低成本消耗,監(jiān)督經(jīng)濟(jì)運(yùn)行情況,兗礦集團(tuán)煤業(yè)公司制定了100種材料單耗指標(biāo)。100種材料單耗指標(biāo)涵蓋從一類到二十七類19955種材料,單耗指標(biāo)統(tǒng)計分為月度、季度、半年度和年度四類。以2010年年度指標(biāo)為例,2010年全年我礦erp領(lǐng)料記錄為33499條。要從這33499條記錄里找到這19955種材料,單純借助excel中的查找、篩選、匯總的方法是非常繁瑣的,即使是一個熟練操作excel的人員也需要兩個工作日的工作量。但是當(dāng)引入VBA程序,就會大大減少工作量,提高工作效率和準(zhǔn)確度,實(shí)現(xiàn)自動化辦公。

2 Excel中的VBA

VBA是Visual Basic for Applications(應(yīng)用軟件的可視Basic編程語言)的簡稱,是兼容BASIC編程語言的命令和語法的Excel應(yīng)用軟件的超級宏語言。微軟公司成功推出的統(tǒng)一的VBA應(yīng)用,擁有對象的連接和嵌入技術(shù),能夠使用戶組合和協(xié)調(diào)多種主流應(yīng)用軟件的功能和特點(diǎn)進(jìn)行應(yīng)用開發(fā),從而減少了開發(fā)用戶自定義命令和用戶程序的麻煩。[1]主要能用來擴(kuò)展Windows的應(yīng)用程式功能,特別是office軟件各應(yīng)用程序例如Word、Excel、Access、Powerpoint。VBA可以用EXCEL的宏語言來使EXCEL自動化,更確切地講,它是一種自動化語言,可以使常用的程序自動化,同時創(chuàng)建自定義的解決方案。

Excel對象、屬性和方法。對象在Excel VBA的結(jié)構(gòu)中起了重要的作用,Excel VBA 利用對象的概念把一類對象規(guī)定成一種特定的數(shù)據(jù)代表,在Excel VBA這樣高度結(jié)構(gòu)化的程序中,對象被組織在一起稱為集合。一個集合就是一組同類對象形成的一個更大的對象。Excel中各個對象之間存在著包含與被包含的關(guān)系,把能夠包含其它對象的對象稱為容器(Container)。容器可以包含其它對象,也可以被其它容器所包含。對象(Object)實(shí)際上就是一類實(shí)體的集合,而一個對象又擁有不同的屬性。比如,人,就是對象的例子,而人,具有姓名、性別、民族、出生日期等屬性。屬性是封裝在對象內(nèi)部的數(shù)據(jù),它反應(yīng)了對象的特征,對對象的操作實(shí)際上是通過改變其屬性的方式來實(shí)現(xiàn)的。訪問對象屬性的方法表示為:

對象名稱.屬性= 屬性值

對象的方法是封裝在對象中用來操作對象屬性的代碼,這些代碼對用戶來說是不可見和不可改寫的。使用對象的方法采用如下語法格式:

對象.方法參數(shù)1,參數(shù)2,. . .,參數(shù)n[2]

3 材料單耗統(tǒng)計應(yīng)用

在excel表中,如圖1,Sheet1是全礦領(lǐng)料明細(xì)表,簡稱“l(fā)lmx”,加上標(biāo)題行一共33500行,A:H共8列,其中A2:A33500是領(lǐng)料明細(xì)物料號碼,再加上第9列I列,標(biāo)題取為“單耗分類”。

Sheet2指標(biāo)范圍表,簡稱“zbfw”,加上標(biāo)題行一共19956行,A:E共5列,其中B2:B19956是100類單耗包含的19955種材料的具體物料編碼,E列是每一種材料在100類單耗中的分類。

把這Sheet1、Sheet2兩張表放在一個工作簿里,取名“單耗統(tǒng)計.xls”

在excel中調(diào)用vb編輯器,編程如下:

……

Dim aa As Range

Dim bb As Range

Dim cc As String

Dim r As Single

Set aa=Workbooks(\"單耗統(tǒng)計.xls\").Sheets(\"zbfw\").Range(\"b2:b19956\")

For j = 2 To 33500

cc = Workbooks(\"單耗統(tǒng)計.xls\").Sheets(\"llmx\").Cells(j,1).Value

Workbooks(\"單耗統(tǒng)計.xls\").Sheets(\"llmx\").Cells(j,1).Select

DoEvents

Set bb = aa.Find(cc)

If Not bb Is Nothing Then

r = bb.Row

Workbooks(\"單耗統(tǒng)計.xls\").Sheets(\"llmx\").Cells(j,9).Value = Workbooks(\"單耗統(tǒng)計.xls\").Sheets(\"zbfw\").Cells(r,5).Value

End If

Next j

……

程序的主要思想是從zbfw表中取物料編碼,到llmx表中去找,如果找到了,就把物料的分類賦予llmx表中該物料。使用VBA在工作表或單元格區(qū)域中查找某項(xiàng)數(shù)據(jù)時,我們通常使用For…Next循環(huán),這在小范圍中使用還可以,但應(yīng)用在大量數(shù)據(jù)中查找時,會耗費(fèi)較多時間。所以我們采用程序主要核心是Find方法,其最主要的原因是查找的速度。例如,區(qū)域查找,在區(qū)域中查找特定信息,并返回 Range 對象,該對象代表用于查找信息的第一個單元格。如果未發(fā)現(xiàn)匹配單元格,就返回Nothing,該方法不影響選定區(qū)域或活動單元格。

……

Dim MRG As Range,AAA As String

Set MRG =Range(\"A1:F16\").Find(\"A\")

AAA =MRG.Address

Do

Set MRG=Range(\"A1:F16\").FindNext(MRG)

MsgBox MRG.Address

Loop Until MRG.Address=AAA

……

若要進(jìn)行更為復(fù)雜的模式匹配查找,要用For Each...Next 語句和Like運(yùn)算符。

生成新的報表命名為“統(tǒng)計”,Worksheets.Add(After:= llmx).Name=\"統(tǒng)計\",復(fù)制表頭到各新工作表,\"With llmx.Rows(1);.Copy Sheets(\"統(tǒng)計\").Rows(1),如果數(shù)據(jù)存在則復(fù)制到新目標(biāo)工作表,語句為“If Not統(tǒng)計Is Nothing Then,.EntireRow.Copy\"統(tǒng)計\".Rows(統(tǒng)計.UsedRange.Rows.Count+1)。

生成的“統(tǒng)計”新表Worksheets(\"統(tǒng)計\").Range(\"A1:I120\").Sort Key1:=Worksheets(\"統(tǒng)計\").Range(\"I1\"),.Subtotal GroupBy:=9, Function:=xlSum,TotalList:=Array(6,7)等語句,就可以實(shí)現(xiàn)“單耗分類”索引排序、匯總,得到約100種單耗的指標(biāo)。如圖2。

在讀取成千上萬行數(shù)據(jù)時需要一個進(jìn)度顯示,為了進(jìn)一步完善該程序,編寫進(jìn)度表。

進(jìn)入Visual Basic編輯器,選擇“插入”、“用戶窗體”,即生成一個userform1,從右下方的屬性欄中(右鍵單擊可以選擇彈出屬性欄),將caption設(shè)置為“單耗統(tǒng)計進(jìn)度……”,width設(shè)置為350,Height設(shè)置為50。緊接著需要插入1個Label標(biāo)簽,Label1放置在UserForm1的中間偏右一點(diǎn),caption設(shè)置為空值,BackColor設(shè)置為紅色,SpecialEffect設(shè)置為2-fmspecialeffectsunken,Width=335,Height=15,然后在選擇插入-模塊,在這里面編寫一個宏。如:

……

UserForm1.Label1.Width = Int(j / 33500 * 335)

UserForm1.Label1.Caption = Int(j / 33500 * 100) \"%\"

DoEvents

……

為了操作宏方便,在Exce中加命令按鈕,其屬性指定宏“單耗統(tǒng)計”。完成后自動彈出,MsgBox“數(shù)據(jù)統(tǒng)計完畢”對話框。

4 結(jié)語

通過Excel Vba語言編寫宏完成材料單耗統(tǒng)計只用7分鐘, 大大節(jié)約大量人力物力,進(jìn)一步提高辦公自動化程度。當(dāng)然在實(shí)際的應(yīng)用中,還會有許多個性化的問題出現(xiàn),但基于VBA 的應(yīng)用可以幫助我們解決許多看似復(fù)雜的應(yīng)用問題。只要能熟練的掌握方法,就可以有許多的函數(shù)、宏來解決實(shí)際應(yīng)用問題。

參考文獻(xiàn):

[1]解保紅.基于VBA的EXCEL管理應(yīng)用[J].科技創(chuàng)新與生產(chǎn)力,2010,(12)

[2]沐士光.Excel中的VBA應(yīng)用探討[J].玉溪師范高等專科學(xué)校學(xué)報,2000,(03).

主站蜘蛛池模板: 欧美区一区| 亚洲一级毛片| 99热这里只有精品久久免费| 亚洲第一视频区| 在线欧美日韩| 青草精品视频| 亚洲一区二区日韩欧美gif| 97视频精品全国在线观看| 91九色最新地址| 精品国产一区二区三区在线观看| 自偷自拍三级全三级视频| 国产精品v欧美| 欧美国产日韩在线| igao国产精品| 天天干天天色综合网| 欧美精品H在线播放| 亚洲人成色在线观看| 美女视频黄又黄又免费高清| 乱人伦中文视频在线观看免费| 婷五月综合| 91在线精品麻豆欧美在线| 天天做天天爱夜夜爽毛片毛片| 在线播放真实国产乱子伦| 色噜噜综合网| 亚洲丝袜中文字幕| 国产午夜无码片在线观看网站| 激情爆乳一区二区| 久久婷婷五月综合97色| 亚洲人精品亚洲人成在线| 夜夜操国产| 2021无码专区人妻系列日韩| 天堂在线亚洲| 无码中文AⅤ在线观看| 亚洲无码视频喷水| 久久久久亚洲精品成人网| 国产精品夜夜嗨视频免费视频| 97se亚洲综合| 亚洲第一区精品日韩在线播放| 国内熟女少妇一线天| 亚洲视频一区在线| 思思热精品在线8| 五月婷婷丁香综合| 九九热精品视频在线| 国产91精选在线观看| 欧美日韩另类国产| 亚洲欧美自拍中文| 亚洲第一色视频| 亚洲无限乱码| 国产女人在线| 国产99视频在线| 亚洲日本中文综合在线| 国产毛片高清一级国语| 国产成人精品在线1区| 国产欧美又粗又猛又爽老| 欧美日韩成人| 国产AV无码专区亚洲精品网站| 久久亚洲天堂| a欧美在线| 国产日韩欧美视频| 成人亚洲国产| 91麻豆精品国产高清在线| www.精品视频| 色男人的天堂久久综合| 久久夜色精品国产嚕嚕亚洲av| 日韩精品亚洲一区中文字幕| 日韩精品无码免费专网站| 在线观看亚洲成人| 国产丝袜无码精品| 国产激情无码一区二区APP| 天堂成人在线视频| 亚洲精品爱草草视频在线| 免费人成网站在线观看欧美| 性欧美久久| 久久香蕉国产线看精品| 国产成人a在线观看视频| 国产香蕉97碰碰视频VA碰碰看| 国内精品视频| 97精品久久久大香线焦| 国产一级毛片在线| 亚洲视频一区在线| 视频二区国产精品职场同事| 在线综合亚洲欧美网站|