已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
VBA 創(chuàng)建完美 EXCEL 舉例 本文檔格式為 WORD,感謝你的閱讀。 VBA 確切地講,是一種自動化語言,它可以使常用的程序自動化,可以創(chuàng)建自定義的解決方案。在 Office 2000 中,宏語言 VBA 適用于所有應(yīng)用程序,包括 Word 、 Excel、 PowerPoint、 Access、 Outlook 以及 Project,基于Excel、 Word 的 VBA 小程序更是不計其數(shù),我們甚至還可以將EXCEL 用做開發(fā)平臺實現(xiàn)應(yīng)用程序。 【關(guān)鍵詞】 Excel VBA 編程 導(dǎo)入數(shù)據(jù) 在 90 年代早期,每個需要自動化的應(yīng)用程序都有不同的自動化語言,比如 EXCEL 的宏語言來使 EXCEL 自動化, WORD BASIC 使 WORD 自動化等等,這給人們學(xué)習(xí)使用各種應(yīng)用程序帶來不便,于是微軟決定開發(fā)一種通用的自動化語言,這就是 Visual Basic For Application( VBA)。 VBA 使 Office 中的 Word、 Excel、 Access、Powerpoint 這些軟件的應(yīng)用更加高效,例如:通過一段 VBA代碼,可以實現(xiàn)畫面的切換;可以實現(xiàn) 復(fù)雜邏輯的統(tǒng)計(比如從多個表中,自動生成按合同號來跟蹤生產(chǎn)量、入庫量、銷售量、庫存量的統(tǒng)計清單)等。 VBA 針對特定軟件時操作更靈活,最典型的是 excel 的 VBA,它可以直接引用 excel 函數(shù),運(yùn)行一些針對 excel 的指令, 使 excel 操作界面人性化,還可以迅速的實現(xiàn)多個步驟的手工操作。 1 用 excel 做開發(fā)平臺實現(xiàn)應(yīng)用程序的原因 在 excel 環(huán)境中基于應(yīng)用程序自動化有哪些優(yōu)點呢? 首先使用 VBA 可以實現(xiàn)的功能有自動化重復(fù)的任務(wù)、自定義excel 工具欄,菜單和界面、簡化模板的使用、創(chuàng)建 報表及對數(shù)據(jù)進(jìn)行復(fù)雜的操作和分析等等。其次用 excel 作為開發(fā)平臺可以連接到多種數(shù)據(jù)庫,由于 excel 界面大家都比較熟悉,它內(nèi)置了大量函數(shù)再加上本身功能都比較強(qiáng)大,包括打印、文件處理、格式化和文本編輯等,這些都是我們自定義excel,使其成為開發(fā)平臺的原因。 我們在用其他語言開發(fā)應(yīng)用程序時,一些基本功能的模塊,包括文件的打開和保存,打印,復(fù)制等都是需要自己去編寫,而用 excel 作為開發(fā)平臺,則由于 excel 已經(jīng)具備這些基本功能,我們只需要使用它。 2 excel 的 VBA 編程功能舉例 在 excel 中適當(dāng)?shù)厥褂?VBA 編程可以大大增強(qiáng)其交互功能,達(dá)到意想不到的效果,如:在 Excel 中應(yīng)用 VBA 批量導(dǎo)入數(shù)據(jù)。 2.1 導(dǎo)入數(shù)據(jù) 我們要把一系列文本格式的數(shù)據(jù)文件導(dǎo)入到 Excel 中作為一條記錄,也就是一行。那么,通過打開 Excel,然后開始錄制宏,然后定位到需要的位置,讀入需要的信息就可以了。首先打開文件,通過導(dǎo)入文本文件向?qū)?,讀入數(shù)據(jù),將特定單元格的數(shù)據(jù)拷貝到一個目標(biāo) Excel 文件中,然后關(guān)閉這個文本文件,停止錄制宏。運(yùn)行了一下這個宏,需要的數(shù)據(jù)都導(dǎo)進(jìn)來了。 2.2 導(dǎo)入成批數(shù)據(jù) 怎么樣把所有的數(shù)據(jù)文件都導(dǎo)入進(jìn)來。比如一組“d*8.txt” 、 “d*9.txt” 、 “d*51.txt” 之類的文件,打開剛剛上面錄制的宏,文件名最后 2 位從 46到 89,那么我們需要寫一個 i 從 1 到 44的循環(huán),把讀入文件部分的文件名改為: d* ( i + 45 ) .txt把粘貼目的地( range)表示行數(shù)的數(shù)字用 i 替換。執(zhí)行按鈕,數(shù)據(jù)導(dǎo)入成功。 2.3 導(dǎo)入不同的文件的數(shù)據(jù) 通過一個打開文件對話框,選擇一系列文件,然后將文件全路徑存入 一個集合或數(shù)組,然后循環(huán)讀出文件就可以了。首先創(chuàng)建了一個窗體,然后放置了一個按鈕,將CommonDialog 控件引入工程,添加到窗體,在按鈕的點擊事件里加入如下代碼: Dim strFiles As String, i As Long With CommonDialog1 .Flags = H200 H80000 可以選擇多個文件 .ShowOpen If .FileName Then strFiles = .FileName End If End With 分割返回值,返回值為以 ASCII 碼為 0 的分割的字符串 字符串第一個為路徑,之后為單個文件名 Files = Split( strFiles, Chr( 0) For i = 1 To UBound( Files) Step 1 Files( i) = Files( 0) Files( i) 連接路徑和文件名,組成文件數(shù)組 Next i 最后的文件列表保存在 Files 數(shù)組里。后面的部分就簡單了。 For i = 1 To UBound( Files) Step 1 strFilename = Files( i) DoImport strFilename Next i 把原來的宏修改后保存在 DoImport 這個過程里,傳入文件名即可導(dǎo)入這個文件,循環(huán)導(dǎo)入所有文件就可以了。 3 提高 VBA 程序運(yùn)行效率的方法 Microsoft office 辦公軟件在我們的生活中得到了廣泛應(yīng)用,現(xiàn)在隨著 office 辦公軟件的 版本不斷提升,功能不斷完善,在 office 辦公軟件平臺上開發(fā)出的的 VBA 應(yīng)用程序越來越多。但是 VBA 是一種宏語言,它的運(yùn)行速度給我們帶來了很大的限制。因此 VBA 編程的方法直接關(guān)系到 VBA 程序運(yùn)行的效率,為了提高 VBA 程序運(yùn)行效率,可以使用下面的一些的方法: 3.1 盡量使用 VBA 原有的屬性、方法和 Worksheet 函數(shù) 在編程前我們應(yīng)盡可能多地了解 excel 對象的屬性、方法, excel 對象特別多,對應(yīng)的它的屬性、方法、事件就更加多了,如果我們不全部了解它們的話,可能在編程過程中經(jīng)常編寫與 excel 對象的屬性、方法相同功能的 VBA 代碼段,當(dāng)然我們編寫的這些代碼段的運(yùn)行效率顯然與 excel對象的屬性、方法完成任務(wù)的速度相差甚大。例如用 Range的屬性 CurrentRegion 來返回 Range 對象,該對象代表當(dāng)前區(qū)。(當(dāng)前區(qū)指以任意空白行及空白列的組合為邊界的區(qū)域)。而同樣功能的 VBA 代碼需數(shù)十行。 3.2 盡量減少使用對象引用,尤其在循環(huán)中 每一個 excel 對象的屬性、方法的調(diào)用都需要通過 OLE接口的一個或多個調(diào)用,這些 OLE 調(diào)用都是需要時間的,減少使用對象引用能加快 VBA 代 碼的運(yùn)行。 3.3 減少對象的激活和選擇 錄制宏里面對象的激活和選擇都用的比較多,例如Workbooks( XXX) .Activate、 Sheets( XXX) .Select、Range( XXX) .Select 等,事實上大多數(shù)情況下這些操作不是必需的。例如: Sheets( Sheet3 ) .Select Range( A1 ) .Value = 100 Range( A2 ) .Value = 200 可改為: With Sheets( She et3 ) .Range( A1 ) .Value = 100 .Range( A2 ) .Value = 200 End With 3.4 關(guān)閉屏幕更新 關(guān)閉屏幕更新是提高 VBA 程序運(yùn)行速度的最有效的方法,可以縮短運(yùn)行時間 2/3 左右。關(guān)閉屏幕更新的方法: Application.ScreenUpdate = False , VBA 程序運(yùn)行結(jié)束時再將該值設(shè)回來: Application.ScreenUpdate = True。 參考文獻(xiàn) 1李 政,梁海英,李昊 .VBA 應(yīng)用基礎(chǔ)與實例教程 M.北京:國防工業(yè)出版社, 2005: 46-136. 2呂洪升 .常見數(shù)值計算在 excel 的 VBA 中實現(xiàn) J.巢湖學(xué)院學(xué)報, 2008. 3楊東遠(yuǎn) .VBA 在 excel 水文數(shù)據(jù)處理中的應(yīng)用 M.交通部天津水運(yùn)工程科學(xué)研究所出版社, 2008. 作者單位 廣東省工商高級技工學(xué)校 廣東省韶關(guān)市 512200 閱讀相關(guān)文檔 :淺談地理新教師前三年自身發(fā)展方向 關(guān)于建設(shè) “ 書香校園 ” 的幾點成功做法 依托行知理論推進(jìn)家園互動 點滴談 同在藍(lán)天下 共享雨露情 班級管理策略 PTN 在城域傳送網(wǎng)中的應(yīng)用 班級文化建設(shè) 山重水復(fù)疑無路 柳暗花明又一村 BGP 路由協(xié)議在鐵通互聯(lián)網(wǎng)中的應(yīng)用 基于 HMC833 的小數(shù)分頻頻率源設(shè)計 應(yīng)用 Web 數(shù)據(jù)挖掘技術(shù)進(jìn)行電子商務(wù)的分析 自動氣象要素站維修實踐 基于 PHM 的電子系統(tǒng)測試性設(shè)計與故障診斷技術(shù) 互聯(lián)網(wǎng)技術(shù)與電信網(wǎng)技術(shù)研
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025有名合同中的倉儲合同樣本
- 全新天津二手房合同下載
- 2025合同模板股份分配合同
- 展館裝飾裝修合同范本共
- 長期汽車租賃合同年
- 建筑承包勞務(wù)合同
- 土石方運(yùn)輸合同樣本
- 2025合同模板技術(shù)轉(zhuǎn)讓和合作生產(chǎn)合同
- 2025勞動合同書封面模板
- 2025年礱谷設(shè)備項目立項申請報告模范
- 2024年全國職業(yè)院校技能大賽高職組(研學(xué)旅行賽項)考試題庫(含答案)
- 2025社保政策培訓(xùn)
- 電器儀表人員培訓(xùn)課件
- 2025年中小學(xué)春節(jié)安全教育主題班會課件
- 2023年工程制圖習(xí)題集
- 計量經(jīng)濟(jì)學(xué)練習(xí)題
- 2025年全國高考體育單招考試模擬政治試卷試題(含答案詳解)
- 傳統(tǒng)春節(jié)習(xí)俗
- 反走私課件完整版本
- 四年級下冊數(shù)學(xué)知識點總結(jié)
- (人衛(wèi)版第九版?zhèn)魅静W(xué)總論(一))課件
評論
0/150
提交評論