作為一名數(shù)據(jù)產(chǎn)品經(jīng)理,基本是離不開(kāi)excel的,但如果想提高工作的效率,除了基本函數(shù)、透視表,VBA是個(gè)繞不開(kāi)的技能,嗯,畢竟那么多數(shù)據(jù)日?qǐng)?bào)、周報(bào)、季報(bào)、月報(bào)要出呢。
1、VBA簡(jiǎn)介與安裝
VBA是一種編程語(yǔ)言,構(gòu)建excel中的應(yīng)用程序開(kāi)發(fā)工具。能幫助用戶實(shí)現(xiàn)excel的標(biāo)準(zhǔn)工具無(wú)法快速完成的任務(wù),提升工作效率,如自動(dòng)復(fù)制粘貼、一鍵實(shí)現(xiàn)報(bào)表自動(dòng)化等。
VBA的應(yīng)用簡(jiǎn)單分為三個(gè)步驟:一是添加宏選項(xiàng)卡,二是打開(kāi)VBA編輯器,三是進(jìn)入編輯界面。
對(duì)于VBA的添加,winds和Mac系統(tǒng)略有差異。windows版本的添加路徑是:文件-選項(xiàng)-自定義功能區(qū)-將[宏]添加到右側(cè),即可在狀態(tài)欄中看到。

Mac系統(tǒng)是需要在偏好設(shè)置中,點(diǎn)擊工具區(qū)域工具欄,再點(diǎn)擊主項(xiàng)選卡,選擇開(kāi)發(fā)工具即可。
添加完之后,我們可以先從嘗試寫一段VBA代碼。VBA代碼有三個(gè)步驟:第一步插入控件,第二步編寫程序,第三步調(diào)試及運(yùn)行代碼。VBA代碼的固定開(kāi)頭是Sub、結(jié)尾是End Sub,控件提示內(nèi)容是MsgBox,文本需用雙引號(hào)。
2、宏的錄制
在介紹VBA是什么、如何安裝及簡(jiǎn)單應(yīng)用之后,如果想真正提升工作效率,需要了解如何錄制宏。
錄制宏有2個(gè)非常明顯的優(yōu)勢(shì),一是錄制宏能夠解決對(duì)陌生操作代碼的難以編寫的問(wèn)題,對(duì)于沒(méi)有接觸過(guò)的業(yè)務(wù),我們可能不知道如何編寫代碼,比如調(diào)整行間距、字體大小,不能確定具體數(shù)值,而宏的錄制能完美解決這個(gè)問(wèn)題;其次是減少代碼重復(fù)編寫的問(wèn)題,錄制宏能夠?qū)⒂脩粼趀xcel中操作過(guò)程記錄下來(lái),并自動(dòng)形成代碼,把不斷重復(fù)的操作一鍵打包封裝,只需輕輕一點(diǎn)即可對(duì)以往一天的工作,可能在10分鐘內(nèi)完成。
關(guān)于宏的錄制,在錄制之前我們需要明確要實(shí)現(xiàn)什么樣的目標(biāo),比如統(tǒng)一字體大小、修改表頭顏色等,想好目標(biāo)之后再按照三步實(shí)現(xiàn)宏的錄制。
錄制宏的第一步是新建宏,具體步驟是先選擇目標(biāo)數(shù)據(jù)中的第二行,然后點(diǎn)擊開(kāi)發(fā)工具,再點(diǎn)擊錄制宏。
第二步是錄制宏,先點(diǎn)擊開(kāi)始錄制,將對(duì)數(shù)據(jù)操作進(jìn)行修改,如改格式、改字體、改顏色、改底紋顏色等操作進(jìn)行錄制,操作完成后點(diǎn)擊停止錄制。
第三步是查看宏代碼,點(diǎn)擊開(kāi)發(fā)工具,選擇Visual Basic按鈕,選擇模塊,查看宏代碼。
3、VBA代碼編寫
錄制宏就結(jié)束后,我們可以在Visual Basic內(nèi)看到歷史所有的代碼,多了解VBA代碼的規(guī)則,逐步學(xué)會(huì)自己編寫代碼。我們以最常見(jiàn)的復(fù)制粘貼、自動(dòng)更新為例,來(lái)看下如何編寫VBA代碼。
3.1 自動(dòng)復(fù)制粘貼
自動(dòng)復(fù)制粘貼,首先是通過(guò)空間啟用VBA編輯器,具體步驟是新建控件、新建宏、新建編輯器;在編輯器中編寫代碼,主要有表格對(duì)象、新建sheet表及sheet表所在的位置,自動(dòng)復(fù)制粘貼的指定工作表、指定列,在新表中粘貼的位置,當(dāng)然如果有其他格式比如字體大小、顏色等也可以在代碼中寫清楚。寫完之后對(duì)代碼進(jìn)行調(diào)試,沒(méi)有問(wèn)題后關(guān)閉編輯器,回到excel頁(yè)面,點(diǎn)擊控件即可實(shí)現(xiàn)功能。

3.2 自動(dòng)化更新
實(shí)現(xiàn)報(bào)表自動(dòng)化的步驟跟復(fù)制粘貼差不多,只是在編輯器中編寫的代碼會(huì)有少許差異,大家仔細(xì)看下即可。

另外需要注意的是,在編寫代碼出現(xiàn)問(wèn)題的時(shí)候我們需要對(duì)代碼進(jìn)行調(diào)試。在調(diào)試時(shí),編輯器會(huì)把錯(cuò)誤的位置定位出來(lái),我們根據(jù)提示對(duì)問(wèn)題進(jìn)行修改,常見(jiàn)的問(wèn)題有引號(hào)、括號(hào)可能用的是中文而非英文格式的,或未對(duì)規(guī)定內(nèi)容進(jìn)行定義等,當(dāng)不知道怎么解決時(shí)可以通過(guò)網(wǎng)絡(luò)搜索查找答案,處理多了自然就能知道問(wèn)題大概出在哪了。