教Excel VBA初學者編寫第一個宏

2021-02-19 完美Excel

學習Excel技術,關注微信公眾號:

excelperfect

要在Excel中編寫宏程序,首先需要了解VBA語言,而快速入門的技巧就是使用宏錄製器。

 

宏錄製器就像一臺錄音機,可以使用VBA監聽和記錄你在Excel中所做的一切操作。對於初學者來說,你可能不了解VBA,這裡,我們會使用宏錄製器來記錄我們的操作,然後看看記錄的指令(也就是代碼),以了解VBA是什麼。

 

下面我們來編寫第一個VBA宏程序。其功能非常簡單,將選擇的單元格中的字體設置為加粗、斜體並將其顏色設置為紅色。

 

第1步:選擇任意單元格,開啟宏錄製器

很簡單。只需選擇任意單元格,然後到功能區「開發工具」選項卡「代碼」組中,單擊「錄製宏」按鈕,如下圖1所示。(也可以在選擇單元格後,直接單擊Excel界面左下角的「錄製宏」按鈕)

圖1

 

第2步:給宏命名

在彈出的「錄製宏」對話框中,在「宏名」文本框中輸入錄製的宏的名字,本示例將宏命名為「SetFontandColor」,如下圖2所示。單擊「確定」關閉「錄製宏」對話框。注意,如果不指定宏名,Excel會以宏1、宏2來自動給宏命名。

圖2

 

第3步:在Excel中執行操作

回到Excel工作表界面,單擊功能區「開始」選項卡「字體」組中的「加粗」、「傾斜」按鈕,然後單擊「字體顏色」下拉按鈕設置為紅色。

 

第4步:停止錄製

現在,你已經在Excel中執行完想要的操作。回到「開發工具」選項卡,單擊「代碼」組中的「停止錄製」按鈕,如下圖3所示。(同樣,可直接單擊Excel界面左下角的「停止錄製」按鈕)

圖3

 

第5步(可選):將宏指定給按鈕

單擊「插入」選項卡「插圖」組中的「形狀」按鈕,在工作表中繪製一個矩形並設置合適的格式。然後,在矩形中輸入文本「選擇單元格後單擊我」。接著,在矩形中單擊右鍵,從快捷菜單中選擇「指定宏」命令。在彈出的「指定宏」對話框中選擇剛才錄製的宏「SetFontandColor」,單擊「確定」按鈕,如下圖4所示。

圖4

 

步驟6:驗證錄製的宏的效果

選擇任意單元格,單擊「選擇單元格後單擊我」,可以看到所選單元格中的文字變成紅色加粗斜體。

 

下面,我們來看看並試著理解錄製的宏代碼。

 

單擊功能區「開發工具」選項卡「代碼」組中的「Visual Basic」按鈕,如下圖5所示。

圖5

或者,選擇任一工作表標籤,單擊右鍵,在快捷菜單中選取「查看代碼」命令,如下圖6所示。

圖6

 

或者,最快速的方法是按Alt+F11鍵。

 

打開VBE編輯器(Visual Basic Editor),如下圖7所示。在VBE中,你可以查看或編輯VBA代碼。

圖7

 

在VBE的工程資源管理器窗口中,雙擊「模塊1」,可以看到SetFontandColor代碼如下:

Sub SetFontandColor()

'

' SetFontandColor 宏

'

 

'

    Selection.Font.Bold = True

    Selection.Font.Italic = True

    With Selection.Font

        .Color = -16776961

        .TintAndShade = 0

    End With

End Sub

 

代碼中:

Sub SetFontandColor()告訴Excel正在編寫一組新的指令。單詞Sub表示VBA的下列行是子過程(或子程序)。在計算機術語中,這是一組相關的指令,必須一起執行操作才有意義。當Excel看到End Sub時,子過程結束。

以單引號(『)開始的行:表示該行為注釋,其作用是便於理解程序。Excel將忽略單引號開始的行。

Selection.Font.Bold = True將所選單元格字體設置為粗體。

Selection.Font.Italic = True將所選單元格字體設置為斜體。

With Selection.Font雖然對你我來說,設置紅色字體似乎是一個步驟,但實際上對計算機來說可能不只一步。並且,每當需要對同一事物執行很多操作(如本例中為選定的單元格)時,最好將它們全部捆綁在一起。這是With語句出現的地方。當Excel看到WithSelection.Font時,Excel會認為:「好吧,我將對「選定單元格」的字體進行操作,直到看到EndWith。

With語句塊內的行:告訴Excel對所選單元格的字體進行操作。本例中,最關鍵的是.Color= -16776961,告訴Excel將所選單元格字體設置為紅色。

End With結束With語句塊。

End Sub結束名為SetFontandColor的宏過程。

 

要理解這段代碼,你可以修改語句,再執行SetFontandColor過程,看修改後的結果。例如,你可以將:

Sub SetFontandColor1()

'

' SetFontandColor 宏

'

'

    With Selection.Font

        .Bold = True

        .Italic = True

        .Color = -16776961

        .TintAndShade = 0

    End With

End Sub

 

當然,一個程序中還可能涉及到變量、條件語句、循環語句等。另外,也會出現如上面示例程序中的許多其他的對象名稱及其方法和屬性,讓我們在後續的示例學習中慢慢接觸並探索吧。

 

[預告]在知識星球App:完美Excel社群中,即將推出電子書《100+個有用的ExcelVBA代碼》,相信對於學習和使用ExcelVBA的朋友來說,特別是對於初學者來說,一定會有很好的幫助。

歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。

歡迎到知識星球:完美Excel社群,進行技術交流和提問,獲取更多電子資料。

完美Excel社群假期動態

#話題# 祝願大家中秋國慶雙節快樂!新的電子書已在路上

#電子書# 《使用VBA操控Excel界面》下載

#預告# 假期後半段,計劃發布一本關於Excel VBA代碼的電子書

#話題# 白話Excel VBA的概念

#電子書# 分享《無需計算機的計算機科學》

相關焦點

  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • 自學VBA,編寫自己的第一個VBA工具,錄製宏
    本節目標是讓每個人能自己編寫第一個VBA程序,先來看看幾個前置條件。1. Excel運行宏代碼的時候需要在Excel中設置啟動宏,如何開啟請查看下圖。2.宏代碼只能保持在.xls或者xlsm格式的文件中,所以在編寫完成後保存文件的時候一定記住選擇.xls/.xlsm格式,否則你花半天寫大代碼都不翼而飛了。3. 在Excel菜單中添加「開發工具」菜單,「開發工具」菜單裡面都是用來開發VBA的菜單。4.
  • VBA--Excel數據處理教學視頻
    如果作為VBA的初學者,我認為從零開始學習VBA可以先從錄製宏開始對於沒有編程基礎的童鞋來說,讓他一下子編寫一段代碼有點強人所難,錄製宏可以很好的幫助初學者平穩的過度到自己編寫VBA錄製宏是學習Excel VBA的便攜工具,不管是初學者還是具有多年編程經驗的老程式設計師都會通過錄製宏來產生宏代碼,然後再根據具體需求修改宏代碼。
  • 微軟Excel VBA宏的介紹及如何錄製宏
    宏是系列 Excel命令和指令組合在起,形成了個任務,以自動執行包含多個命令和指令的任務。可以極大提升Excel的效率。一,什麼是宏宏就是用VBA代碼保存下來的程序。宏的基本作就是:減少重複性的操作Excel宏是系列操作步驟的集合,如在單元格中輸數據,複製A3的數據到B4,對C1:D3求和等,這些操作步驟有簡單有複雜。當一些操作步驟需要不斷重複時,我們就要考慮錄製宏。
  • 宏如何使用?--excel的學習
    如果你已經用excel很長時間了,那麼您一定聽過宏這個名稱,很多人都不知道宏是用來幹什麼的,今天我們就來了解一下excel中宏的作用與幫助,如果您經常在excel中重複一個任務,那就可以用宏來自動執行該任務了。
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    最後,定義一個方法,讓vba調用。如下圖:這個方法的上方套上一個 xlwings 的裝飾器 @xw.func。表示這個方法需要註冊到 Vba 模塊中。而上述命令行只是把這個 xlam 文件放入你的 excel 加載項目錄中而已。然後,在你的任意目錄中打開命令行。執行以下語句,即會生成一個 py 文件和一個 帶宏的 excel 文件。
  • Excel用3行代碼編程實現任何功能——編寫宏
    01【excel是什麼?】我們編寫一個宏任務,給他定義上代碼,只需要3行代碼就可以搞定這個任務,並且由於有了宏任務的代碼,以後其他的Excel,隨時用!進入宏界面首先我們需要進入宏設置的界面,操作步驟依次是【視圖】->【宏】或者【宏下面的小箭頭】 -> 【查看宏】,這樣我們就可以看到下圖啦
  • 編寫Excel VBA程序的10個技巧
    學習Excel技術,關注微信公眾號:excelperfect
  • Excel VBA 不可一世的宏中,基本數據構成你知道多少
    在上一期我們說到VBA的基本組織結構,那麼我們今天就來說說組成這些VBA代碼的磚瓦是由哪幾部分構成的,也就是說vba的處理數據的磚瓦。常量這值在我們的以後編寫中,也需要用到,比如我們需要引用某一天的匯率或者稅率,這個時候我們可以這些寫代碼,如下圖:以上就是我們定義了三個常量,就是把數字賦值給到某一個字符串,這樣做的好處就是,我們在用的時候,可以多次引用這個字符串即可,當我們需要修改的時候,只需要修改一次即可,是不是感覺很方面?
  • Excel VBA(宏)有多強大?看了這幾個Excel功能就服了!
  • 比較Excel中的宏和VBA
    在Excel中可以錄製一個宏來快速製作學生成績的抬頭,我們簡單回顧一下這個宏是如何錄製的:1) 首先點擊「開發工具」選項卡;2) 點擊「使用相對引用」;3) 在錄製開始前選中第一行的抬頭;4) 點擊「錄製宏」;5) 複製第一行;6) 隔兩行,也就是在第3行右鍵滑鼠,選中「插入複製的單元格」;7) 點擊「
  • 「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel
    帶你用pandas玩轉各種數據處理前言在本系列的上一章已經介紹了如何讀寫 excel 數據,並快速進行匯總處理。但有些小夥伴看完之後有些疑惑:那只是簡單讀寫數據而已,有時候需要設置 excel 的格式。
  • vba第十八課
    vba第十八課調用工作表函數在vba中我經常會對工作表的數據進行一些運算,雖然通過代碼進行循環或判斷也可以完成,但是通vba調用函數可以更簡單更直接進行運算提高代碼的運行效率,比如countif、sumif等需要進行判斷統計和求和的運算。
  • Excel VBA宏入門班8期,開始搶座了!零基礎學習,一月學會VBA
    VBA宏入門班8期本將於4月9號開課,招生報名開始了!!
  • 零基礎學習,Excel VBA(宏)入門班(11期)開始搶座了
    VBA宏入門班11期本將於10月15號開課!!
  • WPS教程:excel新手入門VBA功能使用介紹
    Excel教學:今天和大家分享一下excel中vba的使用方法入門,相信很多使用該軟體的朋友們對此都很感興趣,下面就和大家來分享一下,希望可以幫助到大家。4.輸入如圖所示的代碼:5.保存文件,按下F5執行,找到我們編輯的這個宏,【計算銷售額】,然後點擊【運行】寫在末尾——總結一下WPS用起來還是十分簡單的,後面也會出更多的EXCEL系列教程和其他知識分享。
  • Excel VBA宏入門班8期,繼續搶座中!零基礎學習,一月學會VBA
    VBA宏入門班8期本將於4月9號開課,招生報名進行中!!
  • Excel VBA從新手到高手系列課程
    五、 教學目錄:第一章 新手篇-走進excel vba的世界      1.1 什麼是VBA      1.2 EXCEL中的宏      1.3 認識VISUAL BASIC編輯器        1.4 vba程序結構      1.5 數據類型         1.6
  • Excel VBA無奈緣起於宏,他是否真的很神秘,別怕,1分鐘你就明白
    相信有很多初學者都不開發工具卡在哪裡,如下圖所示,並看不到開發工具在哪裡,也就無從使用它了。那麼如何開啟這個神秘的開發工具卡選項,首先我們依次打開Excel開始位置的選項—自定義功能區域---開發工具進行勾選,點擊確定,返回主頁面就可以開發工具選項卡已經完成增加了。如下所示,即為新增的開發工具卡選項。
  • 用excel製作文件管理器,所有版本皆可使用
    Hello,大家好,之前跟大家分享了使用excel中的power query功能製作一個文件管理器,但是很多分析反應自己的excel版本不夠高,無法使用,今天就跟大家分享如何使用宏表函數製作文件管理器,他也是可以實現文件刷新的,這個的操作也不難,下面就讓我們來看下他是如何設置的一、什麼是宏表函數以及FILES函數