本書在安排內(nèi)容時,充分考慮到大多數(shù)初學者幾乎沒有編程基礎(chǔ)的實際情況,在文字表述方面盡量避開專業(yè)術(shù)語,用通俗易懂的語言,教讀者如何學習Excel VBA。為了方便學習和理解,本書附贈光盤中還配有原聲視頻演示,讀者可以在看書的同時打開視頻文件參照學習。
本書適合想提高辦公效率的公司職員,從事會計、審計、統(tǒng)計等工作的人員,以及財經(jīng)專業(yè)的高校師生閱讀,還可以作為社會相關(guān)培訓的教材。
Visual Basic for Applications(簡稱VBA)是新一代標準宏語言,是基于Visual Basic for Windows 發(fā)展而來的。
它與傳統(tǒng)的宏語言不同,傳統(tǒng)的宏語言不具有高級語言的特征,沒有面向?qū)ο蟮某绦蛟O計概念和方法。而VBA 提供了面向?qū)ο蟮某绦蛟O計方法,提供了相當完整的程序設計語言。
VBA 易于學習掌握,可以使用宏記錄器記錄用戶的各種操作并將其轉(zhuǎn)換為VBA 程序代碼。這樣用戶可以容易地將日常工作轉(zhuǎn)換為VBA 程序代碼,使工作自動化。
因此,對于在工作中需要經(jīng)常使用Office 套裝軟件的用戶,學用VBA 有助于使工作自動化,提高工作效率。另外,由于VBA 可以直接應用Office 套裝軟件的各項強大功能,所以對于程序設計人員的程序設計和開發(fā)更加方便快捷。
11.1 VBA 基礎(chǔ) Visual Basic 的應用程序版(VBA)是Microsoft 公司長期追求的目標,使可編程應用軟件得到完美的實現(xiàn),它作為一種通用的宏語言可被所有的Microsoft 可編程應用軟件所共享。在沒有VBA 以前,一些應用軟件如Excel、Word、Access、Project 等都采用自己的宏語言供用戶開發(fā)使用,但每種宏語言都是獨立的,需要用戶專門去學習,它們之間互不兼容,使得應用軟件之間不能在程序上互聯(lián)。
擁有一種可跨越多個應用軟件,使各應用軟件產(chǎn)品具有高效、靈活且一致性的開發(fā)工具是至關(guān)重要的。VBA 作為一種新一代的標準宏語言,具有上述跨越多種應用軟件并且具有控制應用軟件對象的能力,使得程序設計人員僅需學習一種統(tǒng)一的標準宏語言,就可以轉(zhuǎn)換到特定的應用軟件上去,程序設計人員在編程和調(diào)試代碼時所看到的是相同的用戶界面,而且VBA 與原應用軟件的宏語言相兼容,以保障用戶在代碼和工作上的投資。
有了VBA 以后,多種應用程序共用一種宏語言,節(jié)省了程序人員的學習時間,提高了不同應用軟件間的相互開發(fā)和調(diào)用能力。 在Office 2000 中,宏語言VBA 適用于所有應用程序,包括Word 、Excel、PowerPoint、Access、Outlook 以及Project。
在Office 97 的各應用程序中,新增了Visual Basic 編輯器。這樣,用戶無論是在Excel 中,還是在Word 中以至是在Access 中建立和管理VBA 都具有統(tǒng)一的方法和標準。
在介紹如何利用VBA 提高工作效率之前,首先介紹一些與VBA 有關(guān)的基礎(chǔ)知識。11.1.1 VB 與VBA VBA 是基于Visual Basic 發(fā)展而來的,它們具有相似的語言結(jié)構(gòu)。
Visual Basic 是Microsoft 的主要圖形界面開發(fā)工具,VBA 5.0 (亦即VBA 97)則是Visual Basic 5.0 的子集。Visual Basic 是由Basic 發(fā)展而來的第四代語言。
Visual Basic 作為一套獨立的 Windows 系統(tǒng)開發(fā)工具,可用于開發(fā)Windows 環(huán)境下的各類應用程序,是一種可視化的、面向?qū)ο蟮?、采用事件?qū)動方式的結(jié)構(gòu)化高級程序設計語言。它具有高效率、簡單易學及功能強大的特點。
VB 的程序語言簡單、便捷,利用其事件驅(qū)動的編程機制,新穎易用的可視化設計工具,并使用Windows 應用程序接口(API)函數(shù),采用動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)以及開放式數(shù)據(jù)庫訪問(ODBC)等技術(shù),可以高效、快速地編制出 Windows 環(huán)境下功能強大、圖形界面豐富的應用軟件系統(tǒng)。 Visual Basic 程序很大一部分以可視(Visual)形式實現(xiàn),這意味著在設計階段就可以看到程序運行的屏幕畫面,用戶可以在設計時能夠方便地改動畫面圖像、大小、顏色等,直到滿意為止。
VB 的用戶可以是缺乏Windows 及C 語言開發(fā)經(jīng)驗的專業(yè)軟件人員,也可以是具有一定Windows 開發(fā)經(jīng)驗的專業(yè)人員,VB 的可視化編程方法使得原來繁瑣枯燥、令人生畏的Windows 應用程序設計變得輕松自如、妙趣橫生。以往的Windows 應用程序開發(fā)工具在設計圖形用戶界面時,都是采用編程的方法,并伴隨大量的計算任務,一個大型應用程序約有90%的程序代碼用來處理用戶界面,而且在程序設計過程中不能看到界面顯示的效果,只有在程序執(zhí)行時才能觀察到,如果界面效果不佳,還需要回到程序中去修改。
Visual Basic 提供了新穎的可視化設計工具,巧妙地將Windows 界面設計的復雜性封裝起來,程序開發(fā)人員不必再為界面設計而編寫大量程序代碼,僅需采用現(xiàn)有工具按設計者要求的布局,在屏幕上畫出所需界面,并為各圖形對象設置屬性即可,VB 自動產(chǎn)生界面設計代碼,這樣便將事先編制好的控件可視地連接到一起,構(gòu)成一個隨時可調(diào)整的界面。 VBA 不但繼承了VB 的開發(fā)機制,而且VBA 還具有與VB 相似的語言結(jié)構(gòu),它們的集成開發(fā)環(huán)境IDE(Intergrated Development Environment)也幾乎相同。
但是,經(jīng)過優(yōu)化,VBA 專門用于Office 的各應用程序。VB 可運行直接來自Windows 95 或NT 桌面上的應用程序,而VBA 的項目(Project)僅由使用VBA 的Excel、Word、PowerPoint 等稱為宿主(Host)的Office 應用程序(Application)來調(diào)用。
11.1.2 WordBasic 和 Visual Basic 在 Word 中,為完成具體的任務,所用的是WordBasic 命令。 WordBasic 是從VBA 擴展而來的一種專用于處理Word 自動功能的語言,下面介紹它們在概念上的區(qū)別和它們的宏的相互轉(zhuǎn)換。
11.1.2.1 WordBasic 和 Visual 。
Private Sub Command1_Click()
Dim strChar As String
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
xlApp.Visible = True
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Activate
xlSheet.Range("b1") = "測試數(shù)據(jù)" '測試用的,對你所提問沒有沒有關(guān)系
xlSheet.Range("b1:b15").Merge '測試用的,對你所提問沒有沒有關(guān)系,合并單元格(B1;b15)
xlSheet.Range("b1:b15").UnMerge '分解單元格,原內(nèi)容自動填充到分解后的第一單元格.這句也是你問題的答案,不過你要根據(jù)你的具體情況改變“("b1:b15")”
xlSheet.Range("c:c").Merge '測試用的,對你所提問沒有沒有關(guān)系
xlSheet.Range("c:c").UnMerge '這句是你的第二問的答案。具體含義是拆分第C列,這句也要根據(jù)你的具體情況改變“("c:c")”,既把引號內(nèi)的括號內(nèi)的c改成其他英文字母。
Set xlBook = Nothing
xlApp.Quit
End Sub
備注:我用的excel2007,excel2003應該一樣。給你說一個小技巧,你用VBA技術(shù)時,你可以先錄制一個宏,然后在宏的基礎(chǔ)上和你的具體需要更改你錄制的宏代碼,然后復制到你寫的代碼中就可以了,不過前提是你知道一些VBA基礎(chǔ)知識。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.352秒