已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
VBA 創(chuàng)建完美 EXCEL 舉例 本文檔格式為 WORD,感謝你的閱讀。 VBA 確切地講,是一種自動化語言,它可以使常用的程序自動化,可以創(chuàng)建自定義的解決方案。在 Office 2000 中,宏語言 VBA 適用于所有應用程序,包括 Word 、 Excel、 PowerPoint、 Access、 Outlook 以及 Project,基于Excel、 Word 的 VBA 小程序更是不計其數(shù),我們甚至還可以將EXCEL 用做開發(fā)平臺實現(xiàn)應用程序。 【關鍵詞】 Excel VBA 編程 導入數(shù)據(jù) 在 90 年代早期,每個需要自動化的應用程序都有不同的自動化語言,比如 EXCEL 的宏語言來使 EXCEL 自動化, WORD BASIC 使 WORD 自動化等等,這給人們學習使用各種應用程序帶來不便,于是微軟決定開發(fā)一種通用的自動化語言,這就是 Visual Basic For Application( VBA)。 VBA 使 Office 中的 Word、 Excel、 Access、Powerpoint 這些軟件的應用更加高效,例如:通過一段 VBA代碼,可以實現(xiàn)畫面的切換;可以實現(xiàn) 復雜邏輯的統(tǒng)計(比如從多個表中,自動生成按合同號來跟蹤生產量、入庫量、銷售量、庫存量的統(tǒng)計清單)等。 VBA 針對特定軟件時操作更靈活,最典型的是 excel 的 VBA,它可以直接引用 excel 函數(shù),運行一些針對 excel 的指令, 使 excel 操作界面人性化,還可以迅速的實現(xiàn)多個步驟的手工操作。 1 用 excel 做開發(fā)平臺實現(xiàn)應用程序的原因 在 excel 環(huán)境中基于應用程序自動化有哪些優(yōu)點呢? 首先使用 VBA 可以實現(xiàn)的功能有自動化重復的任務、自定義excel 工具欄,菜單和界面、簡化模板的使用、創(chuàng)建 報表及對數(shù)據(jù)進行復雜的操作和分析等等。其次用 excel 作為開發(fā)平臺可以連接到多種數(shù)據(jù)庫,由于 excel 界面大家都比較熟悉,它內置了大量函數(shù)再加上本身功能都比較強大,包括打印、文件處理、格式化和文本編輯等,這些都是我們自定義excel,使其成為開發(fā)平臺的原因。 我們在用其他語言開發(fā)應用程序時,一些基本功能的模塊,包括文件的打開和保存,打印,復制等都是需要自己去編寫,而用 excel 作為開發(fā)平臺,則由于 excel 已經(jīng)具備這些基本功能,我們只需要使用它。 2 excel 的 VBA 編程功能舉例 在 excel 中適當?shù)厥褂?VBA 編程可以大大增強其交互功能,達到意想不到的效果,如:在 Excel 中應用 VBA 批量導入數(shù)據(jù)。 2.1 導入數(shù)據(jù) 我們要把一系列文本格式的數(shù)據(jù)文件導入到 Excel 中作為一條記錄,也就是一行。那么,通過打開 Excel,然后開始錄制宏,然后定位到需要的位置,讀入需要的信息就可以了。首先打開文件,通過導入文本文件向導,讀入數(shù)據(jù),將特定單元格的數(shù)據(jù)拷貝到一個目標 Excel 文件中,然后關閉這個文本文件,停止錄制宏。運行了一下這個宏,需要的數(shù)據(jù)都導進來了。 2.2 導入成批數(shù)據(jù) 怎么樣把所有的數(shù)據(jù)文件都導入進來。比如一組“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ù)導入成功。 2.3 導入不同的文件的數(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 這個過程里,傳入文件名即可導入這個文件,循環(huán)導入所有文件就可以了。 3 提高 VBA 程序運行效率的方法 Microsoft office 辦公軟件在我們的生活中得到了廣泛應用,現(xiàn)在隨著 office 辦公軟件的 版本不斷提升,功能不斷完善,在 office 辦公軟件平臺上開發(fā)出的的 VBA 應用程序越來越多。但是 VBA 是一種宏語言,它的運行速度給我們帶來了很大的限制。因此 VBA 編程的方法直接關系到 VBA 程序運行的效率,為了提高 VBA 程序運行效率,可以使用下面的一些的方法: 3.1 盡量使用 VBA 原有的屬性、方法和 Worksheet 函數(shù) 在編程前我們應盡可能多地了解 excel 對象的屬性、方法, excel 對象特別多,對應的它的屬性、方法、事件就更加多了,如果我們不全部了解它們的話,可能在編程過程中經(jīng)常編寫與 excel 對象的屬性、方法相同功能的 VBA 代碼段,當然我們編寫的這些代碼段的運行效率顯然與 excel對象的屬性、方法完成任務的速度相差甚大。例如用 Range的屬性 CurrentRegion 來返回 Range 對象,該對象代表當前區(qū)。(當前區(qū)指以任意空白行及空白列的組合為邊界的區(qū)域)。而同樣功能的 VBA 代碼需數(shù)十行。 3.2 盡量減少使用對象引用,尤其在循環(huán)中 每一個 excel 對象的屬性、方法的調用都需要通過 OLE接口的一個或多個調用,這些 OLE 調用都是需要時間的,減少使用對象引用能加快 VBA 代 碼的運行。 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 關閉屏幕更新 關閉屏幕更新是提高 VBA 程序運行速度的最有效的方法,可以縮短運行時間 2/3 左右。關閉屏幕更新的方法: Application.ScreenUpdate = False , VBA 程序運行結束時再將該值設回來: Application.ScreenUpdate = True。 參考文獻 1李 政,梁海英,李昊 .VBA 應用基礎與實例教程 M.北京:國防工業(yè)出版社, 2005: 46-136. 2呂洪升 .常見數(shù)值計算在 excel 的 VBA 中實現(xiàn) J.巢湖學院學報, 2008. 3楊東遠 .VBA 在 excel 水文數(shù)據(jù)處理中的應用 M.交通部天津水運工程科學研究所出版社, 2008. 作者單位 廣東省工商高級技工學校 廣東省韶關市 512200 閱讀相關文檔 :淺談地理新教師前三年自身發(fā)展方向 關于建設 “ 書香校園 ” 的幾點成功做法 依托行知理論推進家園互動 點滴談 同在藍天下 共享雨露情 班級管理策略 PTN 在城域傳送網(wǎng)中的應用 班級文化建設 山重水復疑無路 柳暗花明又一村 BGP 路由協(xié)議在鐵通互聯(lián)網(wǎng)中的應用 基于 HMC833 的小數(shù)分頻頻率源設計 應用 Web 數(shù)據(jù)挖掘技術進行電子商務的分析 自動氣象要素站維修實踐 基于 PHM 的電子系統(tǒng)測試性設計與故障診斷技術 互聯(lián)網(wǎng)技術與電信網(wǎng)技術研
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中教學常規(guī)管理實施細則
- 說明文閱讀訓練及答題經(jīng)典范例
- 室內裝修施工合同范本及風險提示
- 項目部安全質量檢查工作規(guī)范
- 高考大作文熱點材料與寫作技巧
- 環(huán)保主題班會方案與活動策劃
- 初中語文教師招聘筆試高清試題庫
- SAP系統(tǒng)銷售模塊配置手冊
- 初中語文課堂教學創(chuàng)新設計方案
- 焦炭買賣合同范本模板與常見問題
- 綠色環(huán)保1000噸年廢塑料回收與改性加工項目規(guī)模及運營模式可行性研究報告
- 點菜英語教學課件
- 2025年事業(yè)單位筆試-河北-河北藥學(醫(yī)療招聘)歷年參考題庫含答案解析(5卷套題【單選100題】)
- 中醫(yī)骨科適宜技術
- 空間計算發(fā)展報告(2024年)-元宇宙標準化工作組
- 2025《混凝土攪拌站勞動合同》
- 售樓部裝飾設計合同協(xié)議
- 煤礦皮帶輸送機跑偏原因和處理方法
- 創(chuàng)傷后應激障礙的心理護理
- 血管緊張素轉換酶抑制劑在心血管疾病防治中應用的專家共識解讀
- 2025中級消防設施操作員作業(yè)考試題及答案(1000題)
評論
0/150
提交評論