編按:哈嘍,大家好!VBA實戰入門教程第5篇,我們將從九九乘法表開始和結束今天的教程。之中,我們會認識VBE,也就是VBA代碼的編輯器。VBE的基本概念、打開方式,以及它的布局和主要功能,它們很簡單,但我們需要掌握。你可以認為這篇教程是我們繼續學習VBA前的一次快樂休閑。學習更多技巧,請收藏關注部落窩教育excel圖文教程。
【前言】
作者E圖表述在「部落窩」也寫了不少VBA的文章了,並且現在依然保持更新,還是那句話:在操作函數、數透、圖表、VBA這幾大EXCEL模塊中,唯獨VBA是一定要按部就班、循序漸進的學習。通過前幾篇內容,我相信你一定已經開始嘗試自己寫一些內容了,是的,當你知道了操作單元格+循環+判斷,那麼再加上思考,就一定可以寫一些案例操作了。
你說什麼?還沒做過,哎~,「懶癌」是病,這個作者E圖表述可治不了,你得自己治。
【正文】
好了,既然你沒練過,那麼我們開篇就先來一道練習題,測一下同學們的掌握程度吧。當然了有興趣的同學都可以來做一下,題目很簡單,「九九乘法表」。我繼續講今天的內容,文末會公布答案。

● 10年前,作者初學VBA的時候,總是能看到「九九乘法表」的練習,但是不知道為什麼,現在很多教程都沒有這個,它對於循環+判斷邏輯關係的理解是相當有意義的。
一、認識VBE
我們常說的VBA,其實是Visual Basic for Application(用於應用程序的 visual basic)的簡寫;而VBE的全稱是Visual Basic Editor,是VBA的容器,用於存放VBA。我們編寫代碼的過程,就像人與計算機說話(下達指令),只有計算機能夠「聽懂我們說的話」,才能執行我們給它下達的指令,那麼VBE就承載了這個「編譯」的過程,所以我們可以理解為VBE就是Excel中VBA的編譯器。
其實所有的計算機語言,如JAVA、Python都有自己的編譯器,就像一個翻譯員一樣,將我們指定的命令代碼,讓計算機能夠看懂,能夠執行。
二、打開VBE的三種方式
1.在功能區的「開發工具」中打開VBE界面
很多同學的Excel功能區中都是沒有「開發工具」選項的,我們可以通過「選項」中的「自定義功能區」,調用出這個功能。

然後選擇「開發工具」——Visual Basic功能鍵,就可以打開VBE界面。

2.在工作表標籤上單擊鼠標右鍵,打開菜單欄

在彈出的菜單中,選擇「查看代碼」,也可以打開VBE界面。
3.ALT+F11組合鍵打開
這是最常用的一種打開VBE界面的方式。
注意:無論你使用何種方式打開VBE界面,都要記得,要打開某個工作薄之後,才可以使用VBE,畢竟EXCEL文件才是VBE的載體。
三、熟悉VBE界面的布局和初步調試
我們以任何一種方式打開VBE界面後,結構如下:

當然,你打開的VBE界面肯定不是這個樣子的,如果你也想調出這些窗口,就讓我們先從菜單欄開始介紹VBE界面的主要功能吧。
1.菜單欄
菜單欄包含了絕大部分的VBE界面的操作,信息量也比較大,我們主要從以下幾方面介紹一下:
1)調出窗口:點擊工具欄——視圖,裏面就能顯示出所有的窗口。

2)代碼調試:點擊菜單欄——調試,可以看到日常編寫VBA代碼後,如果要調試代碼的運行,我們就需要使用這裡的調試功能,作者E圖表述平時使用的是「逐語句」和「切換斷點」,而在菜單欄的二級菜單中也顯示了對應的快捷鍵:F8和F9。

3)對於VBE的設置,我們可以在菜單欄的工具菜單中,通過「選項」裏面的「編輯器格式」功能,對你的VBE操作界面設置個性化的版面;也可以通過「VBAProject屬性」中的「保護」功能,對你寫過的代碼進行加密保護。

以上是菜單欄的一些常用內容。
2.工具欄
工具欄中的功能,是微軟為了用戶使用方便,將菜單欄中的一些常用操作圖表羅列出來,製成快速按鍵而已,我們首先看看工具欄的調用。
當你初次使用VBE的時候,默認情況一般只有「標準」工具欄,我們可以在工具欄的右側空白處,點擊鼠標右鍵,在彈出的菜單中選擇需要的工具欄「挑勾」,然後拖拽到你需要的位置即可,如下演示:

在這麼多的工具欄中,同學們也沒有必要把時間都花費在研究功能上,作者給大家列出幾個比較常用的吧,如下:

1)保存,Ctrl+S快捷鍵;
2)撤回,Ctrl+Z和Ctrl+Y快捷鍵;
3)運行過程。寫出一段代碼後,可以點此運行代碼查看結果或調試,快捷鍵是F5;
4)縮進。就像Word一樣,代碼都是有層級的,我們以前發出的代碼,一般都是需要體現出代碼的層級,比如少了「結束語句」的時候,可以快速查詢糾錯。一般作者都是點兩下空格作為縮進,也可以使用Tab鍵縮進,縮進的長度可以在選項中設置;

5)注釋塊。相當於工作表中的批註,起到說明備忘的效果。如果我們編寫了一段比較複雜的代碼,時間一長,有可能忘記了代碼設置的思路,所以注釋塊可以起到幫助我們回憶的作用。更快捷輸入的方式是在需要添加註釋的字符串前,直接加一個英文狀態下的單引號即可。學習更多技巧,請收藏關注部落窩教育excel圖文教程。
3.工程資源管理器
這是存放對象的容器,默認情況下,包含了Sheet對象、ThisWorkbook對象,我們還可以在這裡添加「窗體」「模塊」和「類模塊」對象,添加方式如下:

4.屬性窗口
如果要學習VBA,那麼同學們一定要有一個思想準備,VBA對象的屬性雖不是多如牛毛,但卻很少有人能記住所有的屬性,甚至十分之一都記不住。這裡我們可以對選定的對象進行一些常規的格式上的設置,例如對下面某個工作表的設置:

這個設置如果寫成VBA代碼,則如下:
Sub 代碼1()
With Sheets(3)
.Name = “工作表1”
.Visible = 0
End With
End Sub
發現沒有,代碼中的NAME和VISIBLE屬性,和剛才在屬性窗口中設置的是同樣的寫法,是不是對學習對象屬性很有幫助。
5.代碼窗口
這個窗口是承載所有代碼編寫的地方,選擇不同的對象,那麼這個代碼就是針對這個對象的代碼窗。
6.對象和過程窗口
這兩個窗口又是一個重要的內容,不知道同學們有沒有聽說過「VBA事件」,就是在這裡選擇的,例如選擇工作表對象後,如下:

又如選擇了窗體對象後,雙擊窗體區域,或者鼠標右鍵——查看代碼,都可以調出窗體的代碼窗口,如下:

7.立即窗口
這個窗口,作者E圖表述很少使用。它的作用是顯示代碼運行的結果(我們調試代碼的時候,就在工作表或者窗體中點擊運行就好了),需要DEBUG.PRINT代碼輔助,如下:
Sub jiafa()
a = 1 + 2
Debug.Print a
End Sub

8.本地窗口
本地窗口,是作者一直都會打開的窗口。這個窗口對於「逐語句F8」調試代碼是相當重要的,如下代碼演示:

我們連着按F8,就可以看到代碼在逐行運行,並且本地窗口中,對變量的變化給出了相當明顯的標記,便於我們調試代碼。(另:這個本地窗口對於我們了解代碼的運行規律也是相當有幫助的。)
9.監視窗口
和本地窗口的用途差不多,不過我們使用監視窗口前,需要添加被監視的變量表達式,如下:

以上就是同學們能看到的VBE主要界面上的窗口和菜單工具欄,作者E圖表述想告訴大家:沒事兒隨便點一點,EXCEL不嬌氣,沒那麼容易被你「點壞」的。
四、窗體、模塊、類模塊的意義
剛才我們在資源工程管理器中,用鼠標右鍵插入了窗體、模塊、類模塊三個內容,它們在EXCEL VBA中有着相當重要的作用,是同學們走向自動化辦公的必經之路。
我們通過本講簡單的了解一下它們的意義,以後我們都會有專門的篇章去學習。
1.窗體
承載窗體、控件的載體,我們有的時候使用工具欄的內容,就會彈出一些窗體,比如我們上面講到的菜單欄——工具——選項窗體,在窗體對象的代碼窗口中寫下代碼,那麼我們就可以自己DIY一個交互式操作界面,是不是很酷,想想都興奮的想操作啊!
2.模塊
模塊是使用最多的一個環節。其他的對象只能在本身對應的代碼窗口中調用代碼語句,可是在模塊中寫入的代碼,卻可以被其他對象引用。工作表對象的代碼、工作薄對象的代碼、窗體代碼、控件代碼、模塊與模塊之間,都可以使用CALL語句調用模塊中的代碼。
另外,在模塊中使用FUNCTION函數過程,還可以寫出「自定義函數」,如果你的EXCEL版本低,用不了XLOOKUP、MAXIFS、TEXTJOIN這類函數,可以用FUNCTION函數過程自己寫出代碼,和使用工作表函數一樣方便。
3.類模塊
類模塊是自定義類的屬性和方法的模塊。使用VBA編寫的過程就是操作對象屬性和方法的過程,而類模塊是自定義這一過程的方式,我們在代碼中看到的PUBLIC PROPERTY過程,就屬於類模塊。它通常用於應用程序級別的事件中,慢慢來,跟着學,終會遇到。
【編後語】
本章的信息量很大,但是作者還是覺得有必要讓同學們了解自己正在學習的這個VBE平台「到底長什麼樣子以及其意義」,學習不能盲目,我們要走最近的路,但不能盲目的走下去,所以就有了此篇教程。如果對你有所幫助,留言告訴我,然後「分享」「在看」一波走起。
最後給出開篇《九九乘法表》的答案,記得多練習啊!!!順便看看代碼的層級縮進!
Sub 九九乘法表()
With Sheets(“九九乘法表”)
For i = 1 To 9
For j = 1 To 9
If i >= j Then
.Cells(i, j) = j & “*” & i & “=” & j * i
End If
Next j
Next i
End With
End Sub
好了,今天就分享到這兒了。學習更多技巧,請收藏關注部落窩教育excel圖文教程。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/255819.html