Excel宏的介紹及應用

Excel中的宏(Macro)是什麼

在Excel的“視圖”標籤頁下,有一個宏的功能,示例如下圖:

在這裏插入圖片描述
宏其實是一段可以重複執行的代碼,對應上圖的兩個選項:

  • 查看宏:查看已經存在的宏的代碼段,並且可以執行
  • 錄製宏: Excel提供了可以像錄製聲音那樣錄製宏的代碼段,點擊“錄製宏”之後,接下來對Excel的操作會自動轉換爲代碼。

宏的來歷

既然宏是可以重複執行的代碼段,那宏是什麼語言的代碼呢?答案是VBA, 那VBA是什麼語言呢? 這就要從BASIC語言說起了。

  • BASIC是一門很古老的計算機語言,發表於1964年。BASIC代碼通過BASIC解釋器翻譯爲計算機能識別的機器指令。
    微軟的DOS、Windows 3、Windows 9系列預裝了BASIC解釋器(稱爲:QBasic),所以可以直接寫Basic程序;但從Windows 2000開始,就不再預裝BASIC解釋器了。
  • 微軟基於Windows 圖形界面開發了新的Visual Basic語言,並提供了可視化的便捷開發工具Visual Basic IDE。不過是需要收費的。
    1996年,微軟開發Visual Basic Scripting Editing(即VBScript),類似快速書寫批處理腳本,語法和VB保持一致。VBScript在操作系統內置。
    VBA: Visual Basic for Applications 。微軟在Office系列產品中集成了VBScript解釋器,這個VBScript就是VBA。除了解釋器,還有集成開發環境,一個簡化版的Visual Basic IDE。

所以, 宏屬於VB語言系列,但是屬於腳本語言, 也就是不需要編譯爲exe文件,可以由解釋器直接解釋運行,宏的代碼示例:

Sub1()
'
' 宏1 宏
'

'
    Cells.Select
    Range("G22").Activate
    Selection.Copy
    Sheets("Sheet1").Select
    Cells.Select
    Range("F26").Activate
    ActiveSheet.Paste
End Sub
  • Sub 是VB語言的過程, 相當於函數的概念
  • 單引號 ’ 用來添加註釋,屬於VB的語法
  • Cells、Sheets、ActiveSheet 是VBA的對象

集成在Excel 中的開發IDE如下:

在這裏插入圖片描述

宏能幹什麼?

宏是一段腳本代碼,能夠幫助我們進行重複、繁雜的動作。最重要的是宏的編寫或錄製很簡單,沒有編程經驗或是沒有VBA語言的基礎也可以實現簡單的宏。宏一般是用來處理複雜的Excel,也就是內容較多或是格式等較爲複雜。宏可以用來:

  1. 對Excel文件、工作表(Sheet)等進行操作,可以像界面操作一樣複製、刪除、移動
  2. 對單元格(Cell)進行操作,包括設置值、獲取Comment等
  3. 可以將Excel中的數據輸出到文件中

典型應用包括:

  1. 收集不同Excel中的工作表統一到一份Excel中,自動產生報表
  2. 在系統開發時,用來收集初始數據或是增量的Admin數據
    3.。。。

宏的錄製

接下來以一個複製工作表的實例演示宏的錄製。

  • 視圖>宏>錄製宏
    在這裏插入圖片描述
    在這裏插入圖片描述

  • 切到Sheet2,在界面上Ctrl+A選中Sheet2的所有Cell, 鍵盤Ctrl+C

  • 切到Sheet1,Ctrl+A選中Sheet1的所有Cell,鍵盤Ctrl+V

  • 點擊“停止錄製”,保存宏
    以上宏的錄製就完成了, 通過查看宏,

  • 點擊“執行”就可以重複剛剛錄製的動作了

  • 點擊“編輯”就可以打開IDE並看到錄製的宏的代碼。如果有VB的編程基礎,基礎VBA的API就可以進行宏的編程了。
    在這裏插入圖片描述

宏的保存

宏的代碼段是保存在Excel文件中,在老版本的Excel中需要開啓允許宏的設置, 新版本的Excel則需要保存後綴名是 .xlsm 的文件。如下圖:
在這裏插入圖片描述
如果不保存.xlsm 類型,則會報如下提示,而且保存之後宏也可能丟失。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章