VBA概述:VBA是Visual Basic For Application的縮寫(xiě),是VB在office中的運用。
是基于Visual Basic For Windows發(fā)展而來(lái)的,VB For Windows是Microsoft于1992年推出的開(kāi)發(fā)Windows應用程序的程序設計語(yǔ)言,由于基語(yǔ)法簡(jiǎn)單,易學(xué)易用,所以深受用戶(hù)的歡迎。而VBA和VB For Windows大體相似。
在Office2000之前,VBA在Word,Excel,Access等Office系統軟件中的運用有些有同,但是到Office2000就統一起來(lái)了。Excel是第一個(gè)包含有VBA的應用程序,自Office2000以后,Eexel,Word,PowerPoint,Access中已經(jīng)有了統一標準的宏語(yǔ)言VBA,其中Excel和Access的VBA最為成熟。
在Excel中VBA程序即可以存放有.xls中,也可以單獨以文本形式存放。對VBA的學(xué)習,用戶(hù)首先必須VB有一定的了解(不過(guò)不必很專(zhuān)業(yè),畢竟經(jīng)常用Excel的用戶(hù)一般是辦公人員,不可能是專(zhuān)業(yè)編程人員),然后結合宏記錄器學(xué)習。
因為,宏記錄器可以記錄宏,用戶(hù)可以非常清楚了然VBA的很多知識。另外,如果不是功能很強大的VBA程序,那么用宏記錄器就足夠了。
打開(kāi)密碼記錄器的方法,通過(guò)“工具->宏->錄制新宏”。另外,用戶(hù)可能用“工具->宏->宏。”
來(lái)管理宏。用“工具->宏->VB 編輯器”或Alt+F11可以打開(kāi)VB編輯器,在VB編程器,可以很方便地整個(gè)VB工程進(jìn)行管理,可以方便地編寫(xiě)VBA代碼,另外,用戶(hù)可以再點(diǎn)擊Alt+F11切換到Excel窗口。
VBA的使用過(guò)程: 1、創(chuàng )建一個(gè)Excel文件。 2、創(chuàng )建一個(gè)控件,然后雙擊控件或是右擊該控件,點(diǎn)擊“查看代碼”,就可以對該控件的某個(gè)事件,如click,keydown等。
進(jìn)行編寫(xiě)執行代碼了。創(chuàng )建控件的方法是,點(diǎn)擊“視圖->工具欄->控件工具箱”,打開(kāi)“控件工具箱”欄,然后就可以直接拖動(dòng)某個(gè)控件到Excel單元格中去。
在Excel中窗口,添加的控件一般是處于執行狀態(tài)的,如果要對這個(gè)控件進(jìn)行編輯,除了第一次建立的時(shí)候可以對它進(jìn)行屬性編輯外,打開(kāi)“控件工具箱”,也可以使控件處于編輯狀態(tài),如果還不行,可以再添加一個(gè)控件,然后已有的控件絕對會(huì )處于編輯狀態(tài)。當然,對控件修改完畢后,別忘了刪除剛才新添加的沒(méi)有用的控件。
在編輯狀態(tài)中,你可以右擊該控件,點(diǎn)擊“屬性”,那么就可以打開(kāi)屬性窗口,在這個(gè)窗口里,你可以很方便的對這個(gè)控件的名字,標題,大小等屬性進(jìn)行編輯。 3、手動(dòng)或用宏記錄器對該控件的某個(gè)事件進(jìn)行編碼。
宏記錄器簡(jiǎn)單易用,不過(guò)強大的功能還是必須手動(dòng)編寫(xiě)VBA。VBA對象介紹: 編寫(xiě)VBA代碼的最關(guān)鍵在于靈活運用VBA對象,對這些VBA對象的屬性或方法進(jìn)行操作。
另外,你也可以創(chuàng )建自定義函數,來(lái)對某些操作進(jìn)行封裝。既然是VBA,編碼風(fēng)格當然和VB相同,如果會(huì )VB,那么只要對VBA的對象比較了解,就可以編寫(xiě)功能強大的VBA程序;同樣,如果不會(huì )VB,那么,只需要了解VBA的對象就夠了,因為它比較簡(jiǎn)單易學(xué)。
以下分別討論VBA各對象對其屬性與方法: 在一些可以包含其他對象的窗口對象中,有幾個(gè)特殊的屬性,其屬性值是當前活動(dòng)對象,對它們,可以直接引用。表1 一些特殊的屬性 對象名 含義 ActiveWorkbook 當前工作簿,即如果你打開(kāi)了幾個(gè)Excel文件,那么你當然正在編輯的Excel文件即ActiveWorkbook ActiveSheet 當前工作簿中的當前工作表,即當前編輯的Excel文件中正在編輯的工作表 ActiveCell 當前工作表中活動(dòng)單元格 ActiveChart 當前工作簿中的活動(dòng)圖表 Selection 當前被選定的對象 下面詳談各對象及它們的屬性和方法 一、Application對象 此對象指Excel應用程序的工作環(huán)境。
屬性 1.Caption屬性 含義:Excel應用程序標題欄顯示的文本。 舉例:Application.caption=“船員管理系統”,如賦值Empty,則恢復Excel默認的標題欄。
2.Cursor屬性 含義:Excel中鼠標的形狀。 表2 Cursor屬性 屬性值 鼠標形狀 xlDefault 缺少型值,鼠標呈缺少形狀 xlWait 等待型值,鼠標呈不斷翻轉的沙漏形狀 xlNorthwestArrow 箭頭型值,鼠標呈標準箭頭形狀 xlIBeam 文本型值,鼠標呈“I”字形以等待用戶(hù)輸入文本 操作:Application.Cursor=xlWait等。
3、DisplayAlerts屬性 含義:用以確定是否顯示系統的應用提示和警告信息,如果不想顯示,則把些屬性設為false,反之亦然。4、DisplayFormulaBar屬性 含義:用以確定是否顯示公式編輯欄 5、DisplayScrollBars屬性 含義:用以確定是否顯示Excel的滾動(dòng)條 6、DisplayStatusBar屬性 含義:用以確定是否顯示Excel的狀態(tài)欄 7、EnableCancelkey屬性 含義:用以確定是否允許用戶(hù)中斷正在執行著(zhù)的VBA程序。
缺省情況下,在VBA程序執行過(guò)程中,用戶(hù)按下Ctrl+Break能夠中斷VBA程序的執行。此時(shí)此屬性即值為xlInterrupt。
若要禁止中斷VBA程序,由賦值為xlDisabled;若需要VBA執行過(guò)程中遇到錯誤進(jìn)中止,由賦值為xlErrorHandler8、ScreenUpdating屬性 含義:用以確定是否顯示VBA程序的中間運算結果。 9、StatusBar屬性 含義:設置狀態(tài)欄的文本 10、ActiveWorkbook屬性 含義:如表1介紹。
11、ActiveSheet 含義:如表1介紹。 12、ActiveCell屬性 含義:如表1介紹。
13、ThisWorkBook屬性 含義:用以返回正在執行著(zhù)VBA程序。
1.1 認識宏 2 1.1.1 什么是宏 21.1.2 宏的運行原理 21.1.3 宏的制作方法 31.2 錄制宏 41.3 執行宏 71.3.1 通過(guò)【宏】對話(huà)框執行宏 71.3.2 通過(guò)圖形執行宏 81.3.3 通過(guò)窗體按鈕執行宏 91.3.4 添加菜單或工具欄命令執行宏 111.4 加載宏 121.4.1 Excel提供的加載宏 131.4.2 其他來(lái)源提供的加載宏 131.4.3 錄制宏制作的加載宏 141.5 宏的數字簽名 151.5.1 數字簽名的前提條件 161.5.2 安裝數字簽名 161.6 錄制宏的實(shí)例應用 191.6.1 自動(dòng)完成報表累計 191.累加宏的錄制和按鈕編輯 192.累加恢復宏的錄制和按鈕編輯 213.清空本月數據宏的錄制和按鈕編輯 221.6.2 自動(dòng)完成高級篩選 221.按鈕設置過(guò)程 232.按鈕使用方法 241.7 小結 251.8 習題 25 2.1 什么是VBE 282.2 VBE基本結構 282.3 VBE工程窗口 292.3.1 Miscrosoft Excel對象 302.3.2 窗體 312.3.3 模塊 311.添加模塊 322.移除、導出和導入模塊 322.3.4 類(lèi)模塊 332.4 VBE屬性窗口 332.5 VBE代碼窗口 362.5.1 代碼窗口的結構 361.對象列表框 372.過(guò)程列表框 373.程序分隔線(xiàn) 374.全模塊視圖和過(guò)程視圖按鈕 375.邊界標識條 382.5.2 代碼窗口的特征 381.自動(dòng)調整關(guān)鍵字、屬性和方法的大小寫(xiě) 382.自動(dòng)在運算符之間插入空格 383.自動(dòng)顯示成員列表 384.自動(dòng)顯示參數信息 395.添加代碼注釋 396.長(cháng)代碼語(yǔ)句換行 392.5.3 代碼運行結果測試 401.快捷鍵測試 402.工具欄按鈕測試 402.6 小結 402.7 習題 40 3.1 Excel VBA程序 423.1.1 過(guò)程程序 421.過(guò)程程序的添加 422.子過(guò)程程序 433.函數過(guò)程程序 473.1.2 事件程序 471.添加事件程序 472.事件程序的基本結構 483.事件程序中的自變量傳遞 493.2 Excel VBA代碼結構 503.2.1 對象、屬性和方法 511.對象 512.屬性 513.方法 523.2.2 運算符 533.2.3 常用語(yǔ)句 531.With語(yǔ)句 542.判斷結構語(yǔ)句 553.循環(huán)語(yǔ)句 574.錯誤轉移語(yǔ)句 593.2.4 變量的使用 601.變量的數據類(lèi)型 612.強制聲明變量 623.變量的聲明方法 634.變量的生存期 643.2.5 函數的使用 651.使用VBA函數 652.調用工作表函數 653.自定義函數 663.3 小結 663.4 習題 66 4.1 新建工作簿 684.1.1 新建空白工作簿 684.1.2 在指定位置新建工作簿 684.2 打開(kāi)工作簿 694.2.1 打開(kāi)指定工作簿 704.2.2 打開(kāi)已保護的工作簿 704.2.3 判斷一個(gè)工作簿是否已經(jīng)打開(kāi) 714.2.4 編制簡(jiǎn)易工作簿密碼破解程序 724.3 保存工作簿 754.3.1 保存修改后的結果 754.3.2 另存為其他Excel文件 751.指定路徑另存為其他文件 752.指定路徑備份文件 763.指定路徑另存并添加工作簿打開(kāi)密碼 764.4 關(guān)閉工作簿 764.4.1 關(guān)閉所有工作簿 764.4.2 關(guān)閉指定工作簿 764.4.3 關(guān)閉前是否保存 771.關(guān)閉指定工作簿前保存 772.關(guān)閉指定工作簿不保存 773.關(guān)閉當前工作簿前保存 774.關(guān)閉當前工作簿不保存 774.5 工作簿常用事件及應用 784.5.1 打開(kāi)工作簿時(shí)提示當前日期和時(shí)間 784.5.2 使關(guān)閉按鈕失效 794.5.3 禁止打印本文件內容 804.5.4 禁止編輯工作簿中的所有單元格 804.6 小結 824.7 習題 82 5.1 插入工作表 845.1.1 插入指定數量工作表 841.插入單個(gè)空白工作表 842.插入多個(gè)空白工作表 845.1.2 指定位置插入工作表 841.在指定工作表前插入工作表 842.在指定工作表后插入工作表 853.在工作表最后位置插入工作表 854.在工作表最前位置插入工作表 855.1.3 插入工作表的命名 851.為插入的單個(gè)工作表命名 862.插入多個(gè)工作表并分別命名1~12月 865.1.4 插入前判斷工作表是否存在 875.2 選取工作表 885.2.1 選取指定工作表和設置活動(dòng)工作表 881.選取指定工作表 882.設置活動(dòng)工作表 885.2.2 選取多個(gè)工作表 895.3 隱藏工作表 905.3.1 隱藏一個(gè)或多個(gè)工作表 90。
vba就是用一大串英文的有規定格式的指令指揮表格完成一套動(dòng)作英語(yǔ)好會(huì )比較有幫助,能看懂英文就能大體明白它的意思,還有就是它本身就是一種編程語(yǔ)言的寄生版本,所以會(huì )編程就更簡(jiǎn)單了先學(xué)會(huì )錄制宏,然后學(xué)會(huì )怎么查看代碼,然后學(xué)習一下vba的基本體系,比如關(guān)鍵字、對象、屬性、方法然后通過(guò)錄制多個(gè)宏,查看其中的代碼你逐漸就能明白宏的意思了vba有一些功能是錄制宏無(wú)法錄制下來(lái)的,比如循環(huán)、判斷等邏輯,和一些特殊的操作,比如查找,這些如何通過(guò)vba來(lái)實(shí)現呢,這就是比較高級的東西了,先把前面的基礎的操作看明白,然后再進(jìn)一步學(xué)習這些。
本書(shū)在安排內容時(shí),充分考慮到大多數初學(xué)者幾乎沒(méi)有編程基礎的實(shí)際情況,在文字表述方面盡量避開(kāi)專(zhuān)業(yè)術(shù)語(yǔ),用通俗易懂的語(yǔ)言,教讀者如何學(xué)習Excel VBA。為了方便學(xué)習和理解,本書(shū)附贈光盤(pán)中還配有原聲視頻演示,讀者可以在看書(shū)的同時(shí)打開(kāi)視頻文件參照學(xué)習。
本書(shū)適合想提高辦公效率的公司職員,從事會(huì )計、審計、統計等工作的人員,以及財經(jīng)專(zhuān)業(yè)的高校師生閱讀,還可以作為社會(huì )相關(guān)培訓的教材。
VBA是Visual Basic for Application的簡(jiǎn)寫(xiě),它以VB語(yǔ)言為基礎,經(jīng)過(guò)修改并運行在Microsoft Office的應用程序,如Excel,Word中,它是不能像VB一樣能生成可執行程序的。
也就是說(shuō),VBA程序只能依靠office平臺而運行。但VBA編程卻和VB編程幾乎沒(méi)有什么兩種,它們都是面向對象的程序設計,有相同的算法和語(yǔ)法,只要你會(huì )VB,甚至只要了解最簡(jiǎn)單的Basic語(yǔ)言的語(yǔ)法,就可以進(jìn)行VBA編程,在office平臺解決問(wèn)題。
你看了《VBA編程簡(jiǎn)化Excel操作的兩個(gè)實(shí)例》你就知道VBA編程有多少的簡(jiǎn)單和有趣了。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.099秒