EXCEL宏編程的應(yīng)用
- 期刊名字:辦公自動(dòng)化(綜合版)
- 文件大?。?18kb
- 論文作者:方文英
- 作者單位:杭州萬(wàn)向職業(yè)技術(shù)學(xué)院
- 更新時(shí)間:2020-06-12
- 下載次數(shù):次
008年7月應(yīng)用_經(jīng)驗(yàn)總第135期EXCEL宏編程的應(yīng)用方文英(杭州萬(wàn)向職業(yè)技術(shù)學(xué)院杭州310023)摘要隨計(jì)算機(jī)的普及Excl得到了廣泛的應(yīng)用本文介紹通過(guò)Exe宏編程實(shí)現(xiàn)學(xué)生信息與期末考試信息的自動(dòng)處理提高了工作效率和準(zhǔn)確性。關(guān)鍵詞 Excel VBA編程宏考場(chǎng)安排汀總表中圖分類(lèi)號(hào)TP399文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào)080627-4586Application of the Macro Programming with EXCELangWnying(Hangzhou Wanxiang Polytechnic College Hangzhou 310023)Abstract Along with the popularity of computers, Excel obtains a wide use. The paper introduces by macroprogramming with Excel to realize the automatic processing of students information and terminal exam information, so as toraise the worefficiency and accuracy.Keywords Excel VBA programming Macro Gathering form of exam hall arrangement引言Baie的精簡(jiǎn)集可用于建立用戶(hù)定義的 Microsoft Office的應(yīng)用每學(xué)期期末考試的安排對(duì)于教務(wù)處來(lái)說(shuō)是一項(xiàng)繁重的工程序,為整個(gè)集成軟件提供高級(jí)開(kāi)發(fā)環(huán)境。VBA不能在一獨(dú)立作時(shí)間緊任務(wù)重,又不能出一點(diǎn)差錯(cuò)。本學(xué)院為了嚴(yán)肅考風(fēng)環(huán)境中運(yùn)行,也不能使用它創(chuàng)建獨(dú)立的應(yīng)用程序,即其需要宿考紀(jì)規(guī)范考場(chǎng)紀(jì)律,對(duì)考場(chǎng)編排作出的規(guī)定是,采用高年級(jí)與應(yīng)用程序支持它的功能特性。宿主應(yīng)用程序是Exl、Word、低年級(jí)混合考試編排即一個(gè)考場(chǎng)由不同年級(jí)或不同考試課程 Power Point等應(yīng)用程序,并根據(jù)其嵌入應(yīng)用程序的不同,增加了的兩個(gè)班混合交叉編排座位隔位就座,并確定每一位考生每對(duì)應(yīng)用程序不同對(duì)象的控制功能。Exel中的ⅤBA增加了關(guān)于場(chǎng)考試的座位號(hào)。這樣一來(lái),一個(gè)班同一門(mén)課可能要在兩個(gè)Exl工作簿、工作表、區(qū)域數(shù)據(jù)透視表等對(duì)象的屬性事件和以上的考場(chǎng)進(jìn)行,原來(lái)的期末考試編排系統(tǒng)只能排定班級(jí)、考方法。下面就談?wù)劺芒魾A編程完成上述工作試科日、考試時(shí)間、考試場(chǎng)地等,不能確定每一位考生在哪個(gè)考場(chǎng)是哪個(gè)座位號(hào)。如果用手工來(lái)完成對(duì)院所有學(xué)生所有考試課程的考場(chǎng)座位號(hào)的確定數(shù)據(jù)量大,又容易出錯(cuò)。這對(duì)教務(wù)處期木考試安排又考散師考場(chǎng)分班人數(shù)桌貼顏色是一個(gè)新的考驗(yàn),能不能2月2日下午1301530城建061城市管理與法機(jī)吳費(fèi)杰1212在原來(lái)考試編排系統(tǒng)產(chǎn)生7月2日下午1315建貼1表規(guī)李云升1312紅的數(shù)據(jù)的基礎(chǔ)上,通過(guò)編4月2日年1塑規(guī)劃原理胡志明130618自日程自動(dòng)完成上述工作呢?6月1日上午308地01城市規(guī)劃理光先□150417自利用 Excel VBA編程T月1日上年X1030鐵07=1就可以實(shí)現(xiàn),VBA是8月2日上午313地鐵1中國(guó)煤化工1Visual Basic for0m月3上午xmCNMHGIB的縮寫(xiě),是一種強(qiáng)大的編程語(yǔ)言。VBA作為 Visual寢1考試安排導(dǎo)入數(shù)據(jù)·4方雄動(dòng)化雜志應(yīng)用經(jīng)驗(yàn)強(qiáng)年7月二、準(zhǔn)備數(shù)據(jù)Dim IListRow As Integer記錄“全院學(xué)生名單”表的行號(hào)1期末考試安排數(shù)據(jù)新建 Excel T.作簿命名為“全院期末考試安排”,將利用考 Dim SCourge, SCourse2 As String記攻“考場(chǎng)安排匯總”表中課試編排系統(tǒng)編制的期末考試安排情況導(dǎo)入到“全院期未考試安名稱(chēng)排”中的“she”工作表中,命名為“考試安排導(dǎo)入數(shù)據(jù)”,部分 Dim ISumRow As Integer記錄“考場(chǎng)安排匯總”表的行號(hào)數(shù)據(jù)清單和文件格式下如圖表1。在這張數(shù)據(jù)清單里,有考試時(shí) Import DataRow=2初始化變量間、班級(jí)、課程、考場(chǎng)等信息,每個(gè)班級(jí)的同一門(mén)課被分在不同 ISumrow=2考場(chǎng),通過(guò)這張數(shù)據(jù)表,學(xué)生無(wú)法確定自己在哪個(gè)考場(chǎng)考試Sheet2.Select對(duì)“全院名單”表排序2、全院學(xué)生名單Cells. selectSelection Sort Keyl: =Range (D2" ), Order l: =xlAscending, Key 2:B("A2", Order2學(xué)號(hào)鮭名學(xué)院名稱(chēng)班級(jí)名稱(chēng)丁 =asCending, Head20602140101張治經(jīng)濟(jì)官理系城建06-1=xlY30602140102T新明經(jīng)濟(jì)管理系城建06-1±o602140103胡志剛經(jīng)濟(jì)管理系城建06-1Sheet 1. Select50602140104趙龍?jiān)平?jīng)濟(jì)管理系城建06-1對(duì)“考場(chǎng)安排導(dǎo)入數(shù)據(jù)”60602140105胡海華經(jīng)濟(jì)管理系蜮建06-1表排序7602140107李慧倩經(jīng)濟(jì)管理系|城建06-1Cells. select80602140108范志艮經(jīng)濟(jì)管理系城建06-10602140109祝洪軍經(jīng)濟(jì)管理系蜮建06-=Range ("B2" ), Orderl、·H考場(chǎng)安排導(dǎo)入數(shù)琚全院學(xué)生名單??紙?chǎng)安排匯總 aSendin,kn2表2全院學(xué)生名單("C2" ), Order2將全院學(xué)生數(shù)據(jù)清單導(dǎo)人到“ Sheet2”工作表中,命名為=asCending. Header全院學(xué)生名單”部分?jǐn)?shù)據(jù)清單和文件格式如表2。這張數(shù)據(jù)清單里的每個(gè)班級(jí)的名稱(chēng)與“考試安排導(dǎo)入數(shù)據(jù)”表里的班級(jí)的SCourse2= Cells(import Data Row,3) value課程名稱(chēng)名稱(chēng)必須一致,并且人數(shù)一致,為以后的編程作好準(zhǔn)備。Slas2=Cel( lmport DataRow,2)Vaue班級(jí)名稱(chēng)3、考場(chǎng)安排匯總Do Until Sheet1. Cells(IImport DataRow, 2)將She3命名為“考場(chǎng)安排匯總”,將利用“考試安排導(dǎo)入Sheet1. Select數(shù)據(jù)”和“全院學(xué)生名單”兩張數(shù)據(jù)清單,生成全院本學(xué)期期末Classi= Cells(iMport DataRow,2)vaue班級(jí)名稱(chēng)考試情況。通過(guò)該表,每一位同學(xué)可以清楚的知道具體的考試I Classsize= Cells(IImport DataRow,6) value考場(chǎng)人數(shù)時(shí)間、地點(diǎn)和座位號(hào)等信息。COunsel= Cells(Import DataRow,3y)vlue課程名稱(chēng)Sheet2. Select、編寫(xiě)VBA程序鼠標(biāo)依次單擊“工具”菜單、“宏”子菜單、"VBA編輯器~聊Mhst= Classi).Activate在“全院學(xué)生名單”中定位1進(jìn)入VBA編程環(huán)境IListRow Active Cell Row活動(dòng)單元格所在行進(jìn)人ⅤBA編程環(huán)境。While sclassl= Sclass2 And SCoursel sCourse22、編寫(xiě)代碼在VBA編輯器中單擊“插人“菜單選擇“模塊”菜單項(xiàng), SeatsNumber=1初始座位號(hào)在模塊中編寫(xiě)代碼。具體操作和命令含義如下:For i= 1 To IClassSizePublic Sub Examination SummaryIf Sclass2= Sheet2. Cells(IListRow, 4). Value Thenim IClassSize As Integer記錄“考場(chǎng)安排導(dǎo)人數(shù)據(jù)"表中每$ Sheet2. Cells(DIstrO0y個(gè)考場(chǎng)人數(shù)Sheet3 Cell( SumRow,1) PasteSpecial復(fù)制學(xué)號(hào)到“考場(chǎng)安排匯Dim llmportData Row As Integer記錄“考場(chǎng)安排導(dǎo)入數(shù)據(jù)”表的總”表行號(hào)V凵中國(guó)煤化工Dim Sclass.s2 As String記錄“考場(chǎng)安排匯總”表中班級(jí)shetCNMHG復(fù)制姓名到“考場(chǎng)父排匯名稱(chēng)總”表Dim i As Integer定義循環(huán)變量Sheet3 cells( SumMon,3) Value= SEats Number確定座位號(hào)辦公自動(dòng)化雜志472008年7月應(yīng)用經(jīng)驗(yàn)Applicationeriences總第135期學(xué)號(hào)姓名位號(hào)考試時(shí)間班級(jí)考試課程臣考教師考場(chǎng)分班人貼顏137月日下13153建33060240134魏史華14D月2日下午1315:33406021401351陳R方157月下午1339153建356T月下午13:315劉輛建06135060214013177月日下午33153建%[吳費(fèi)杰□131217月2日上午9:為1030幅理061李云升13380602140102T27月2上午93103建M37月日上午03103建140105考場(chǎng)安排匯總A表3生成考場(chǎng)安排匯總表A學(xué)號(hào)姓名庶位號(hào)考試時(shí)間班級(jí)考試課程臣考教考場(chǎng)分班人募貼顏色1B月下午133153建1月日上午93103[建IT月1401022T月日上午931030輔建】[401031T月日下午131530隨建J日上午321表4考試通知單Sheet1. Select3、運(yùn)行代碼Range(Cells(Import DataRow, 1), Cells(iMport DataRow, 7).Copy代碼編寫(xiě)完畢保存退出VBA編輯器到工作表狀態(tài),單擊T具”菜單,選擇“宏”子菜單的“宏”菜單項(xiàng),出現(xiàn)“宏”對(duì)話框選Range(cel( ISumrow,4,cl( SumRow,II) PasteSpecial復(fù)制擇“ Examination Summ過(guò)程單擊“運(yùn)行”。運(yùn)行結(jié)果將生成考試時(shí)間、課程等信息到“考場(chǎng)安排匯總”表中。“考場(chǎng)安排匯總"表部分?jǐn)?shù)據(jù)清單和格式如表3所示。通過(guò)該表End If可以知道每個(gè)考場(chǎng)的具體學(xué)生信息。如果將該表按班級(jí)、學(xué)號(hào)進(jìn)IList Row= lIttrOw+1“全院學(xué)生名單”表行號(hào)加1行排序,就可以生成每個(gè)學(xué)生本學(xué)期要參加所有考試課程的考試SEats Number= SEats Number+1座位號(hào)加1時(shí)間、考場(chǎng)、座位號(hào)等信息即考試通知單,如表4所小ISumRow= ISumRow+1“考場(chǎng)安排匯總”表行號(hào)加1四、結(jié)束語(yǔ)NextExc電子表格軟件是應(yīng)用最廣泛的軟件之一,它的數(shù)據(jù)lImportDataRow= IImport DataRow+1“考場(chǎng)安排導(dǎo)人數(shù)據(jù)”表中處理、圖表功能及各種函數(shù)和工具深受廣大用廣的喜愛(ài)。通過(guò)行號(hào)加1ⅤBA編輯器設(shè)計(jì)的宏,也稱(chēng)為ⅤBA編程可以完成 Excel表格相Sheet. select當(dāng)復(fù)雜和批量的處理。本例中,通過(guò) Excel vBa編程,實(shí)現(xiàn)∫批Sclass2=Cl( Import DataRow,2) value班級(jí)名稱(chēng)量數(shù)據(jù)的自動(dòng)化處理,提高工作效率。參考文獻(xiàn)ls(lamport DataRow,6) value分班人數(shù)Scourse2= Cells(iMport DataRow,3)vlue課程名稱(chēng)景疆,O6ice2000常用對(duì)象模型的VBA編程J辦公自動(dòng)化雜志20058)Wend“考場(chǎng)安排導(dǎo)人數(shù)據(jù)”表中相鄰行課程和班級(jí)數(shù)據(jù)不同跳出循環(huán)M凵中國(guó)煤化工在成績(jī)管理中應(yīng)用承德醫(yī)Lmop“考場(chǎng)安排導(dǎo)入數(shù)據(jù)”中班級(jí)數(shù)據(jù)為空跳出循環(huán)作者CNMHGSheet3 Range("AJ), EntireColumn AutoFit自動(dòng)調(diào)整列寬方文英女杭州萬(wàn)向職業(yè)技術(shù)學(xué)院現(xiàn)教中心助教,從事計(jì)End Sub算機(jī)教學(xué)工作。研究方向:信息管理與信息系統(tǒng)。4方蘇自動(dòng)化雜志
-
C4烯烴制丙烯催化劑 2020-06-12
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-06-12
-
生物質(zhì)能的應(yīng)用工程 2020-06-12
-
我國(guó)甲醇工業(yè)現(xiàn)狀 2020-06-12
-
石油化工設(shè)備腐蝕與防護(hù)參考書(shū)十本免費(fèi)下載,絕版珍藏 2020-06-12
-
四噴嘴水煤漿氣化爐工業(yè)應(yīng)用情況簡(jiǎn)介 2020-06-12
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-06-12
-
甲醇制芳烴研究進(jìn)展 2020-06-12
-
精甲醇及MTO級(jí)甲醇精餾工藝技術(shù)進(jìn)展 2020-06-12
