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

農(nóng)村“氣代煤”安全評(píng)價(jià)匯總中Excel及VBA的應(yīng)用

2019-07-16 03:17:27張君伍石曉倩王佳美
電腦知識(shí)與技術(shù) 2019年14期
關(guān)鍵詞:農(nóng)村

張君伍 石曉倩 王佳美

摘要:基于WPS的Excel和VBA實(shí)現(xiàn)安全評(píng)價(jià)數(shù)據(jù)的匯總,可以在Excel表中自動(dòng)提取戶內(nèi)安全評(píng)價(jià)的數(shù)據(jù),并計(jì)算生成匯總信息,自動(dòng)格式化保存匯總表。以WPS的Excel為平臺(tái)建立的這些宏工具,在實(shí)際生產(chǎn)中極大提高了工作效率。

關(guān)鍵詞:農(nóng)村;氣代煤;安全檢查;Excel;VBA

中圖分類(lèi)號(hào):TP311 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)14-0269-02

近幾年北方城市中霧霾污染經(jīng)久不散,霧霾成因中的一個(gè)重要的原因是農(nóng)村燃煤的污染。為此,政府大力推動(dòng)農(nóng)村“氣代煤”工程建設(shè)。農(nóng)村“氣代煤”的大范圍推廣過(guò)程中安全使用問(wèn)題尤其重要。為解決農(nóng)村“氣代煤”使用安全問(wèn)題,政府推動(dòng)了“氣代煤”的安全評(píng)價(jià)工作,聘請(qǐng)第三方安全評(píng)價(jià)公司進(jìn)行戶內(nèi)天然氣使用的安全評(píng)價(jià)工作。評(píng)價(jià)公司在安全隱患匯總方面常做不到采用數(shù)據(jù)庫(kù)管理,而是采用了Excel表形式對(duì)用戶使用天然氣的問(wèn)題建立了電子檔案,但這樣就面臨一個(gè)如何匯總安全隱患的問(wèn)題。針對(duì)這種情況開(kāi)發(fā)了一個(gè)WPS的Excel上的VBA宏作為匯總工具以節(jié)省匯總時(shí)間。

1 電子檔案和VBA宏功能介紹

農(nóng)村“氣代煤”安全評(píng)價(jià)采用現(xiàn)場(chǎng)使用檢查表法對(duì)戶內(nèi)用氣情況進(jìn)行評(píng)價(jià),現(xiàn)場(chǎng)填寫(xiě)檢查表和拍攝照片,資料整理須制作電子檔案。電子檔案內(nèi)容包括工程名、檢查編號(hào)、戶名、電話、檢查表逐項(xiàng)內(nèi)容及發(fā)現(xiàn)的安全隱患、安全隱患對(duì)應(yīng)的現(xiàn)場(chǎng)照片。功能實(shí)現(xiàn)采用的WPS的Excel電子表格。Excel VBA宏的提取功能:從所有戶的電子檔案中提取檢查編號(hào)、戶名、電話、安全隱患數(shù)量及內(nèi)容。

2 Excel電子檔案設(shè)計(jì)

電子檔案設(shè)置有表名、地址(鎮(zhèn)名、村名)、戶名、電話、燃?xì)獗肀硖?hào)、檢查表、用戶簽字、檢查人員、檢查時(shí)間、隱患照片等項(xiàng)。檢查表包含四項(xiàng):序號(hào)、檢查內(nèi)容、檢查結(jié)果、隱患內(nèi)容。檢查內(nèi)容設(shè)計(jì)成“是否”型問(wèn)句,沒(méi)有安全隱患則統(tǒng)一為“是”,若有安全隱患則為“否”,這樣便于統(tǒng)計(jì)安全隱患數(shù)量。

隱患內(nèi)容錄入時(shí)采用規(guī)范化的語(yǔ)言,這里采取對(duì)單元格設(shè)置“數(shù)據(jù)有效性”規(guī)范錄入的語(yǔ)言。安全隱患計(jì)數(shù)采用COUNTIF函數(shù),例如統(tǒng)計(jì)F47單元格到F54單元格中“否”的個(gè)數(shù),選擇單元格輸入“=COUNTIF(F47:F54,"否")”。

表格下方逐條列出隱患,并附現(xiàn)場(chǎng)照片。根據(jù)實(shí)際情況,隱患數(shù)經(jīng)常是0-5個(gè),根據(jù)這個(gè)特點(diǎn)設(shè)計(jì)自動(dòng)生成配圖的隱患內(nèi)容文字。在隱患內(nèi)容列右側(cè)單元格如I7、I8、I9等利用if函數(shù)判定有無(wú)內(nèi)容,然后向下填充。在隱患內(nèi)容右側(cè)第二列單元格利用IFERR、INDEX、SMALL、ROW函數(shù)將隱患匯總到連續(xù)單元格如J7、J8、J9等,然后向下填充,隱患內(nèi)容匯集到一起。示例中I列、J列數(shù)據(jù)格式均設(shè)置成白色,不顯示。函數(shù)實(shí)例如下:

3 Excel VBA宏設(shè)計(jì)

首先建立一個(gè)“啟用宏的工作薄”即后綴為xlsm格式的文件。在該文件中“ThisWorkbook”對(duì)象代碼窗口中錄入代碼。工作中將xlsm文件放到Excel表的電子檔案文件夾中,Excel表電子檔案采用“xlsx”格式。Excel電子檔案中默認(rèn)錄入的表格對(duì)象名稱為“sheet1”,xlsm文件使用宏提取的匯總表在自身文件的表格對(duì)象“sheet1”中。

3.1 VBA提取功能

3.1.1 表頭設(shè)計(jì)

匯總表表頭設(shè)計(jì)見(jiàn)圖1,首先初始化表格,刪除sheet1表中的所有內(nèi)容,然后設(shè)置表頭,合并單元格,輸入表頭內(nèi)容,調(diào)整文字格式,代碼如下:

Application.ScreenUpdating = False ‘關(guān)閉實(shí)時(shí)刷新

Sheets("sheet1").Cells.Select: Selection.Delete Shift:=xlUp'刪除所有單元格,初始化表格

Sheets("sheet1").Activate ‘將xlsm格式的文件中“sheet1”表設(shè)置為當(dāng)前激活狀態(tài)。

Columns("F:F").ColumnWidth = 45 ‘設(shè)置F列列寬

Range("A1:G1").Merge ‘合并A1:G1單元格

BiaoMing = InputBox("輸入表名", "表名", "XX鎮(zhèn)XX村安全隱患匯總表")

Range("A1").Value = BiaoMing ‘錄入表名

Range("A1:G1").Select ‘合并后單元格格式設(shè)置即表名格式設(shè)置

Selection.Font.Size = 16: Selection.Font.Bold = True

Selection.HorizontalAlignment = xlCenter

Selection.VerticalAlignment = xlCenter

Rows(2).Select ‘為第二行設(shè)置格式

Selection.HorizontalAlignment = xlCenter

Selection.VerticalAlignment = xlCenter: Selection.Font.Bold = True

Range("A2") = "序號(hào)" ‘第二行表頭錄入

Range("B2") = "姓名": Range("C2") = "表號(hào)": Range("D2") = "電話"

Range("E2") = "隱患條數(shù)": Range("F2") = "隱患內(nèi)容": Range("G2") = "備注"

3.1.2 數(shù)據(jù)提取

提取每戶的電子檔案過(guò)程中需要打開(kāi)每個(gè)電子檔案Excel表,此處使用do Loop循環(huán),逐個(gè)打開(kāi)文件提取數(shù)據(jù),代碼如下:

Filename = Dir(ThisWorkbook.Path & "\" & "*.xlsx") ‘獲取所有電子檔案(xlsx格式)文件名

i = 3 ‘?dāng)?shù)據(jù)提取后在xlsm文件“sheet1”表中開(kāi)始錄入的初始行數(shù)

Do

Workbooks.Open ThisWorkbook.Path & "\" & Filename ‘打開(kāi)電子檔案

ThisWorkbook.Sheets("sheet1").Range("b" & i) = ActiveWorkbook.Sheets("sheet1").Range("D4") ‘提取電子檔案中數(shù)據(jù)(編號(hào)、戶名、電話等,此處僅舉一例),ActiveWorkbook為打開(kāi)的電子檔案,ThisWorkbook為宏所在的xlsm文件

…… ‘此處省略與上句相似的提取語(yǔ)句

ActiveWorkbook.Save: ActiveWorkbook.Close ‘保存并關(guān)閉已被打開(kāi)的電子檔案

Filename = Dir ‘讀取下一個(gè)文件名

i = i + 1 ‘匯總數(shù)據(jù)錄入的行數(shù)以加1為步長(zhǎng)遞增

Loop Until Filename = "" ‘Filename為空時(shí),讀取完畢,退出Do……Loop循環(huán)

3.1.3 表尾設(shè)計(jì)

提取數(shù)據(jù)結(jié)束后,針對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單匯總,匯總檢查的戶數(shù),存在問(wèn)題的百分比,隱患總數(shù)等信息(見(jiàn)圖1)。代碼如下:

k = ThisWorkbook.Sheets("sheet1").UsedRange.Rows.Count ‘獲取匯總表已經(jīng)錄入的行數(shù)

Cells(k + 1, 1) = "總計(jì)" ‘本行及以下為表尾數(shù)據(jù)錄入

Range("A" & k + 1 & ":B" & k + 2).Merge ‘合并單元格

Cells(k + 1, 3) = "檢查戶數(shù)": Cells(k + 1, 4) = "存在隱患戶數(shù)"

Cells(k + 1, 5) = "隱患條數(shù)": Cells(k + 1, 6) = "隱患戶數(shù)百分比(%)"

Cells(k + 1, 7) = "制表日期"

表尾的表頭填好后,下面計(jì)算匯總明細(xì)填入相應(yīng)的表格。沒(méi)有安全隱患的戶對(duì)應(yīng)的F列安全隱患中是空白,因此存在隱患戶數(shù)計(jì)算時(shí)采用CountA函數(shù),統(tǒng)計(jì)非空單元格個(gè)數(shù)即為存在隱患的戶數(shù)。每戶的隱患條數(shù)在E列,利用Sum函數(shù)計(jì)算E列的隱患數(shù)目之和即可。隱患戶數(shù)百分比為存在隱患戶數(shù)除以檢查戶數(shù)所得百分?jǐn)?shù)。制表時(shí)間利用Now函數(shù)獲得,再用Format函數(shù)將日期格式化為“yyyyMMdd”形式。代碼如下:

Cells(k + 2, 3) = k - 2 ‘檢查戶數(shù)

Cells(k + 2, 4) = Application.WorksheetFunction.CountA(Range("F3:F" & k)) ‘存在隱患戶數(shù)

Cells(k + 2, 5) = Application.WorksheetFunction.Sum(Range("E3:E" & k)) ‘隱患條數(shù)

Cells(k + 2, 6) = Format(Cells(k + 2, 3) / Cells(k + 2, 2) * 100, "0.0") ‘隱患戶數(shù)百分比

Cells(k + 2, 7) = Format(Now(), "yyyy.MM.dd") ‘將匯總今日的匯總時(shí)間填入表中

匯總表制作完成后,為了美觀,調(diào)整一下表格大小和對(duì)齊格式。

Columns("A:E").EntireColumn.AutoFit ‘調(diào)整A列至E列的寬度至自動(dòng)適應(yīng)值

Columns("A:E").HorizontalAlignment = xlCenter ‘調(diào)整A列至E列單元格文字為水平居中

Application.ScreenUpdating = True ‘打開(kāi)實(shí)時(shí)刷新

匯總表完成后見(jiàn)圖1。

3.1.4 匯總數(shù)據(jù)保存

為了提高工作效率,采用了VBA自動(dòng)保存方法,將匯總表保存在當(dāng)前目錄中,并以鎮(zhèn)村日期等信息命名保存。代碼如下:

Sheets("Sheet1").Select ‘選擇當(dāng)前xlsm文件中匯總表

Sheets("Sheet1").Copy ‘復(fù)制當(dāng)前xlsm文件中匯總表

ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yyyymmdd") & BiaoMing & ".xls", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ‘當(dāng)前xlsm文件中匯總表另存到當(dāng)前文件夾下并已“yyyymmdd表名”的文件名保存,文件格式為“xls”,“xls”格式可以和電子檔案的“xlsx”格式區(qū)別開(kāi)。

ActiveWorkbook.Close ‘關(guān)閉另存為后的匯總表

為了VBA宏的方便使用可以通過(guò)“其他命令”將提取數(shù)據(jù)宏添加到窗口頂部的快捷命令中。

4 結(jié)束語(yǔ)

農(nóng)村“氣代煤”安全評(píng)價(jià)數(shù)據(jù)資料整理中已在運(yùn)用VBA宏進(jìn)行匯總整理,安全評(píng)價(jià)人員相對(duì)熟悉Excel工具,應(yīng)用VBA宏操作簡(jiǎn)單,學(xué)習(xí)迅速,能夠極大的提高工作效率。Excel的VBA宏工具使用過(guò)程中也存在一些不足如當(dāng)數(shù)據(jù)量過(guò)大時(shí)耗時(shí)過(guò)長(zhǎng)甚至出錯(cuò),這方面問(wèn)題有待于進(jìn)一步改進(jìn)。

參考文獻(xiàn):

[1] 李政.VBA應(yīng)用基礎(chǔ)與實(shí)例教程[M].北京:國(guó)防工業(yè)出版社,2009.

[2] 李政,李瑩,張羽.Excel高級(jí)應(yīng)用案例教程[M].北京:清華大學(xué)出版社,2010.

【通聯(lián)編輯:梁書(shū)】

猜你喜歡
農(nóng)村
農(nóng)村積分制治理何以成功
“煤超瘋”不消停 今冬農(nóng)村取暖怎么辦
我們的新農(nóng)村
我們的新農(nóng)村
提高農(nóng)村小學(xué)習(xí)作講評(píng)的幾點(diǎn)感悟
活力(2019年21期)2019-04-01 12:17:48
今日新農(nóng)村
四好農(nóng)村路關(guān)注每一個(gè)人的幸福
愿多出現(xiàn)這樣的農(nóng)村好報(bào)道
新天新地新農(nóng)村
草原歌聲(2016年2期)2016-04-23 06:26:27
農(nóng)村初中留守兒童教育初探
主站蜘蛛池模板: 亚洲最大福利网站| 人妻无码中文字幕一区二区三区| 在线国产毛片手机小视频| 免费无码一区二区| 精品人妻一区无码视频| 在线另类稀缺国产呦| 亚洲国产午夜精华无码福利| 国产国产人在线成免费视频狼人色| 丝袜国产一区| 99久久国产精品无码| 国产精品永久不卡免费视频| 波多野结衣在线se| 婷婷综合色| 成人免费黄色小视频| 亚洲精品爱草草视频在线| 71pao成人国产永久免费视频| 热re99久久精品国99热| 欧美成人午夜视频免看| 久久www视频| 白浆免费视频国产精品视频 | 啦啦啦网站在线观看a毛片| 找国产毛片看| 国产在线第二页| 亚洲日韩图片专区第1页| 亚洲视频色图| 国产一区二区三区精品欧美日韩| 99在线观看精品视频| 91色老久久精品偷偷蜜臀| 亚洲av片在线免费观看| 中文一区二区视频| 国产成人精品综合| 无遮挡一级毛片呦女视频| 人妻中文字幕无码久久一区| 欧美国产综合视频| 亚洲无码高清一区| 亚洲 欧美 日韩综合一区| 国产欧美日韩18| 一级看片免费视频| 老司机午夜精品网站在线观看 | 亚洲天堂在线视频| 午夜不卡福利| 中文成人在线视频| 麻豆AV网站免费进入| 激情無極限的亚洲一区免费| 免费精品一区二区h| 久久77777| 无码国产伊人| 亚洲人成网7777777国产| 国产精品一区二区在线播放| 一区二区欧美日韩高清免费| 精品人妻无码中字系列| 美女无遮挡被啪啪到高潮免费| 国产美女无遮挡免费视频网站| 呦视频在线一区二区三区| 午夜福利网址| 尤物国产在线| 成人午夜福利视频| 91色爱欧美精品www| AV熟女乱| 久久女人网| 99久久性生片| 丁香综合在线| 国产网站免费看| 免费一看一级毛片| 91黄色在线观看| 免费不卡在线观看av| 国产成人区在线观看视频| 欧美性天天| 亚洲成A人V欧美综合| 国产屁屁影院| 国产无码网站在线观看| 天天综合亚洲| 亚洲国产日韩在线成人蜜芽| 国产免费一级精品视频 | 中文纯内无码H| 精品福利视频导航| 91麻豆精品国产高清在线| 日本午夜在线视频| 亚洲国产中文精品va在线播放| 天天躁日日躁狠狠躁中文字幕| 欧美yw精品日本国产精品| 久久一色本道亚洲|