VBA中Excel宏的介紹及應(yīng)用
Excel中的宏(Macro)是什么
在Excel的“視圖”標簽頁下,有一個宏的功能,示例如下圖:
宏其實是一段可以重復(fù)執(zhí)行的代碼,對應(yīng)上圖的兩個選項:
- 查看宏:查看已經(jīng)存在的宏的代碼段,并且可以執(zhí)行
- 錄制宏: Excel提供了可以像錄制聲音那樣錄制宏的代碼段,點擊“錄制宏”之后,接下來對Excel的操作會自動轉(zhuǎn)換為代碼。
宏的來歷
既然宏是可以重復(fù)執(zhí)行的代碼段,那宏是什么語言的代碼呢?答案是VBA, 那VBA是什么語言呢? 這就要從BASIC語言說起了。
BASIC是一門很古老的計算機語言,發(fā)表于1964年。BASIC代碼通過BASIC解釋器翻譯為計算機能識別的機器指令。
微軟的DOS、Windows 3、Windows 9系列預(yù)裝了BASIC解釋器(稱為:QBasic),所以可以直接寫B(tài)asic程序;但從Windows 2000開始,就不再預(yù)裝BASIC解釋器了。
微軟基于Windows 圖形界面開發(fā)了新的Visual Basic語言,并提供了可視化的便捷開發(fā)工具Visual Basic IDE。不過是需要收費的。
1996年,微軟開發(fā)Visual Basic Scripting Editing(即VBScript),類似快速書寫批處理腳本,語法和VB保持一致。VBScript在操作系統(tǒng)內(nèi)置。
VBA: Visual Basic for Applications 。微軟在Office系列產(chǎn)品中集成了VBScript解釋器,這個VBScript就是VBA。除了解釋器,還有集成開發(fā)環(huán)境,一個簡化版的Visual Basic IDE。
所以, 宏屬于VB語言系列,但是屬于腳本語言, 也就是不需要編譯為exe文件,可以由解釋器直接解釋運行,宏的代碼示例:
Sub 宏1() ' ' 宏1 宏 ' ' Cells.Select Range("G22").Activate Selection.Copy Sheets("Sheet1").Select Cells.Select Range("F26").Activate ActiveSheet.Paste End Sub
- Sub 是VB語言的過程, 相當于函數(shù)的概念
- 單引號 ’ 用來添加注釋,屬于VB的語法
- Cells、Sheets、ActiveSheet 是VBA的對象
集成在Excel 中的開發(fā)IDE如下:
宏能干什么?
宏是一段腳本代碼,能夠幫助我們進行重復(fù)、繁雜的動作。最重要的是宏的編寫或錄制很簡單,沒有編程經(jīng)驗或是沒有VBA語言的基礎(chǔ)也可以實現(xiàn)簡單的宏。宏一般是用來處理復(fù)雜的Excel,也就是內(nèi)容較多或是格式等較為復(fù)雜。宏可以用來:
- 對Excel文件、工作表(Sheet)等進行操作,可以像界面操作一樣復(fù)制、刪除、移動
- 對單元格(Cell)進行操作,包括設(shè)置值、獲取Comment等
- 可以將Excel中的數(shù)據(jù)輸出到文件中
- …
典型應(yīng)用包括:
- 收集不同Excel中的工作表統(tǒng)一到一份Excel中,自動產(chǎn)生報表
- 在系統(tǒng)開發(fā)時,用來收集初始數(shù)據(jù)或是增量的Admin數(shù)據(jù)
- 。。。
宏的錄制
接下來以一個復(fù)制工作表的實例演示宏的錄制。
視圖>宏>錄制宏
切到Sheet2,在界面上Ctrl+A選中Sheet2的所有Cell, 鍵盤Ctrl+C
切到Sheet1,Ctrl+A選中Sheet1的所有Cell,鍵盤Ctrl+V
點擊“停止錄制”,保存宏
以上宏的錄制就完成了, 通過查看宏,
點擊“執(zhí)行”就可以重復(fù)剛剛錄制的動作了
點擊“編輯”就可以打開IDE并看到錄制的宏的代碼。如果有VB的編程基礎(chǔ),基礎(chǔ)VBA的API就可以進行宏的編程了。
宏的保存
宏的代碼段是保存在Excel文件中,在老版本的Excel中需要開啟允許宏的設(shè)置, 新版本的Excel則需要保存后綴名是 .xlsm 的文件。如下圖:
如果不保存.xlsm 類型,則會報如下提示,而且保存之后宏也可能丟失。
到此這篇關(guān)于VBA中Excel宏的介紹及應(yīng)用的文章就介紹到這了,更多相關(guān)VBA Excel宏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于vba代碼運行時錯誤1004?應(yīng)用程序定義或?qū)ο蠖x錯誤問題
這篇文章主要介紹了vba代碼運行時錯誤1004?應(yīng)用程序定義或?qū)ο蠖x錯誤,經(jīng)過一系列問題調(diào)查發(fā)現(xiàn)是工作表中數(shù)據(jù)存在異常,需要的朋友可以參考下2022-10-10VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)
本文主要介紹了VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08