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