哈嘍,大家好呀。
我相信有許多朋友都是很想學習Excel的王炸功能——VBA,但是礙於其難度系數,一直可望而不可及。
沒關系,今天就和小編一起從入門開始學習吧!
一、先認識一下VBA
VBA為廣大使用者提供了對Excel功能進行二次開發的平台。
我們可以借助VBA完成許多僅憑基本操作和公式無法實作的功能,並且可以實作工作自動化,提高工作效率。
二、開啟VBA編輯器的三種方式
1.在功能區的「開發工具」中開啟VBE界面
很多同學的Excel功能區中沒有「開發工具」選項的,我們可以透過「選項」中的「自訂功能區」,呼叫出這個功能。
然後選擇「開發工具」——Visual Basic功能鍵,就可以開啟VBE界面。
2.在工作表標簽上單擊滑鼠右鍵,開啟選單欄;
在彈出的選單中,選擇「檢視程式碼」,也可以開啟VBE界面。
3.ALT+F11組合鍵開啟,這是最常用的開啟方式。
註意:無論你使用何種方式開啟VBE界面,都要記得,要開啟某個工作薄之後,才可以使用VBE,畢竟EXCEL檔才是VBE的載體。
三、建立寫VBA程式碼的地方
在哪編寫程式碼呢?今天先學最常用的:插入 - 模組。新建一個模組來存放編寫的程式碼。
四、開始寫程式碼
插入(或雙擊)模組後,在右側的空白位置就是編寫程式碼的地方。
可以執行的VBA程式碼(宏程式),結構是這樣的:
Sub 程式名(參數)
可以執行任務的程式碼
End Sub
輸入Sub 程式名() 然後回車,End Sub就會自動輸入。
五、常用的VBA程式碼
到了這一步,相信大家已經大概掌握了VBA的簡單操作,下面就讓我們來給大家分享幾個常用的VBA程式碼吧,短短幾行,就能讓你的辦公效率得到質的飛躍~
範例1:批次取消隱藏工作表
如果需要取消隱藏的工作表很多,右鍵選擇【取消隱藏工作表】就會顯得很繁瑣,我們只需要幾行VBA小程式碼就刻意搞定啦!
Sub qxyc()
Dim sht As Worksheet
'定義變量
For Each sht In Worksheets
'迴圈工作簿裏的每一個工作表
sht.Visible = xlSheetVisible
'將工作表的狀態設定為非隱藏
Next
End Sub
範例2:判斷身份證號的位數是否正確
這樣的一組號碼,不考慮號碼的資訊正誤,只看位數,你很難知道它是否是18位元,那麽此時用程式碼來處理,就顯得很方便了,如下:
Sub 判斷身份證號位數正誤()
With Sheets("IF判斷語句")
For i = 2 To 10
If Len(.Cells(i, 1)) = 18 Then
.Cells(i, 2) = "18位元"
End If
Next i
End With
End Sub
【程式碼解析】
Line1:使用工作表「IF判斷語句」作為程式碼中參照物件的統一父級物件;
Line2:規定迴圈變量i的範圍為2到10,因為我們是遍歷單元格,逐行判斷,所以迴圈變量應該以單元格的行號作為迴圈依據,所以是ROW2到ROW10;
Line3:Cells(i, 1)說明是某一行和第一列的交點單元格,當i變量為2,3,4,…,10時,對應的單元格地址就是A2,A3,A4,…,A10。用LEN函式提取單元格字串的長度,判斷是否等於18;
Line4:如果判斷條件滿足,則Cells(i, 2)對應的B列單元格中輸入「18位元」;
Line5:判斷語句的結束語句;
Line6:迴圈語句的結束語句;
Line7:With語句的結束語句。
範例3:批次重新命名工作表
工作表預設的名稱是Sheet1這種,對我們尋找數據時很不方便,我們想批次給他改名怎麽操作呢?
Sub 修改工作表名稱()
Dim i As Long
For i = 2 To Sheets.Count
Sheets(i).Name = Sheets(i).Range("C2")
Next
End Sub
六、測試、執行、保存程式碼
在編寫程式碼時經常要測試是否正確。測試方式是把光標放在程式碼行的任意位置,點選 執行 小按鈕。
要想執行VBA程式碼,我們只需要右鍵點選 指定宏 - 選擇編寫的宏名稱 即可。
另外,有個點要特別註意,我們在保存文件的時候,【保存型別】要選擇為 「啟用宏的工作簿」 型別,這樣我們辛苦寫出來的VBA程式碼才能保存下來。
程式碼一兩行,工作再也不用忙斷腸。
今天的VBA入門課程,你都學會了嗎?
還有疑問的同學,歡迎留言評論區。
對了,我們還有一套免費的VBA脫白課程,送給大家!
掃碼進群獲取連結
免費觀看!
寵 粉 福 利
2元領取:全套Excel技巧視訊+200套樣版
點"閱讀原文",學習更多的Excel視訊教程