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