熟悉小爬的都知道,我大部分文章都是用python來開發自動化腳本,包括數據分析。但在python還沒有那么聲名大振之前,小爬卻是靠着王佩豐老師的VBA以及數據透視表系列教程,才慢慢開始踏上辦公自動化這條大船的。這幾年的工作經驗給小爬最大的感觸是:python的確是數據分析的一把好手,但很多時候VBA已然夠用。考慮到相當一部分職場人的辦公環境根本都無法自由安裝IDE(Integrated Development Environment:集成開發環境)、python環境,VBA之於數據分析領域,就永遠不存在過時一說。從今天起,小爬會不定期更新VBA相關教程,希望對你們有所幫助。
VBA語法命令非常簡單,對編程新手也很友好。很多時候靠着excel“錄制宏”功能,我們就可以在VBE(Visual Basic 編輯器:我們寫代碼的地方)下看到excel自動生成的VBA代碼,后續我們通過變量傳參、循環、條件等知識的引入,改造一段【錄制宏】代碼為成熟的自動化腳本。
如果您的Excel界面【菜單欄】沒有看到【開發工具】,不着急,那是因為微軟大大默認大多數人平時用不到【開發工具】模塊,給隱藏了。如果您希望激活【開發工具】,恰恰說明您的Excel技能已經超過一大票表哥表姐了,以Office2019為例,依次點擊excel菜單欄【文件】-【選項】-【自定義功能區】-【主選項卡】,勾選【開發工具】,即可讓【開發工具】顯示在菜單欄,如下圖所示:
我們可以點擊【開發工具】下的【錄制宏】按鈕,或者點擊excel界面左下角的快捷按鈕,進行VBA宏的錄制,如下圖所示:
我們開始錄制宏后,可以諸如給單元格賦值,編寫公式,使用高級篩選,更改單元格顏色,設置單元格格式,設置條件格式等等,這些都會完美地被Excel轉換為VBA代碼,對新手實在有夠貼心。那么我們去哪兒找系統幫我們生成的宏代碼呢?方法一:可以使用快捷鍵ALT+F8來查看宏:
方法二:可以點擊【Visual Basic】按鈕,進入VBE界面后,再次雙擊【模塊】,即可。
我們隨便看下一段系統為我們生成的VBA代碼,將每一行與我們先前的錄制操作關聯起來,就不難學習VBA的語法了。
1 Sub My_First_Macro() 2 ' 3 ' My_First_Macro 宏 4 ' 第一次寫VBA,第一次【錄制宏】,多少有點緊張,希望這是一個好的開始。 5 ' 6 7 ' 8 ActiveCell.FormulaR1C1 = "姓名" 9 Range("B1").Select 10 ActiveCell.FormulaR1C1 = "學科" 11 Range("C1").Select 12 ActiveCell.FormulaR1C1 = "分數" 13 Range("A2").Select 14 ActiveCell.FormulaR1C1 = "張三" 15 Range("B2").Select 16 ActiveCell.FormulaR1C1 = "英語" 17 Range("C2").Select 18 ActiveCell.FormulaR1C1 = "75" 19 Range("A3").Select 20 ActiveCell.FormulaR1C1 = "李四" 21 Range("B3").Select 22 ActiveCell.FormulaR1C1 = "英語" 23 Range("C3").Select 24 ActiveCell.FormulaR1C1 = "98" 25 Range("A4").Select 26 ActiveCell.FormulaR1C1 = "王五" 27 Range("B4").Select 28 ActiveCell.FormulaR1C1 = "英語" 29 Range("C4").Select 30 ActiveCell.FormulaR1C1 = "59" 31 Range("C1").Select 32 Selection.AutoFilter 33 ActiveSheet.Range("$A$1:$C$4").AutoFilter Field:=1, Criteria1:="王五" 34 Range("A4:C4").Select 35 With Selection.Font 36 .Color = -16776961 37 .TintAndShade = 0 38 End With 39 End Sub
最后我們可以在EXCEL界面插入一個形狀,並將它與宏代碼關聯起來,后面點擊該【形狀】,就可以快速執行我們的宏片段了。
看到這里,恭喜你,童鞋,你已經通過【宏錄制】,入門VBA。你的數據分析之路上,又多了一把利器。
歡迎掃碼關注我的公眾號 獲取更多爬蟲、數據分析的知識!