tft每日頭條

 > 生活

 > 常用的vba怎麼用

常用的vba怎麼用

生活 更新时间:2025-02-23 21:01:18

轉自:Excel之家ExcelHome

在我們的工作中,經常需要手工完成一些有規律的、重複性的任務,或者處理一系列的固定工作,利用VBA就可以對數據進行更高級的處理,實現數據處理的自動化,從而省去簡單重複的工作。


說到VBA,不得不說另一個與它有密切關系的工具:宏。Office中的辦公組件都支持VBA和宏。


VBA是一種内置在Excel中的編程語言,可以用來編寫程序代碼,二次開發系統本身所不具備的功能;


宏是一種用VBA語言編寫的運算過程,是錄制的程序


在實際工作中,可能每天都要打印上千張發票、統計銷售業績等,要完成同樣的工作,既可以用VBA編寫代碼實現,又可以通過錄制宏來實現。錄制的宏其實就是一堆VBA指令,并且可以通過VBA來修改,但是有些操作是不能通過錄制宏來實現的。


錄制的宏可能很長,效率很低,而經過優化的VBA代碼簡潔,效率更高,VBA能夠實現宏所能實現的全部功能。


在使用宏和VBA時需要在【開發工具】選項卡下單擊相關按鈕完成工作,如果在主選項卡區域沒有【開發工具】選項卡,可以選擇【文件】→【選項】選項,在彈出的【Excel選項】對話框中進行設置。在【Excel選項】對話框左側選擇【自定義功能區】選項卡,選中【主選項卡】下的【開發工具】複選框,單擊【确定】按鈕保存設置,如下圖所示,即可在主界面上顯示【開發工具】選項卡。

常用的vba怎麼用(懶人神器VBA越用越爽)1

下面以任務驅動的方式介紹如何用宏和VBA解決實際問題。


例如,“超市商品每日銷售表”已知單價和銷售數量,計算每件商品的銷售金額。


1



用宏工作,兩步可以解決問題:錄制宏、運行宏。錄制宏就是把完成任務的過程操作一遍并錄制下來。


步驟01 單擊H2單元格,首先要開啟【開發工具】選項卡【代碼】組中的【使用相對引用】功能,這樣以後在當前錄制過程中未處理過的單元格區域也能按照目标單元格與數據源單元格的相對位置計算銷售金額,如下圖所示。

常用的vba怎麼用(懶人神器VBA越用越爽)2

步驟02 然後單擊【開發工具】選項卡【控件】組中的【插入】按鈕,在彈出的下拉列表的【表單控件】選項區域中選中第一個按鈕控件,如下圖所示。

常用的vba怎麼用(懶人神器VBA越用越爽)3

步驟03 在H列右邊空白區域拖曳鼠标畫出一個【按鈕】,松開鼠标後彈出【指定宏】對話框,修改【宏名】為【計算銷售金額】,單擊【錄制】按鈕,然後單擊【确定】按鈕開始錄制操作過程,如下圖所示。

常用的vba怎麼用(懶人神器VBA越用越爽)4

步驟04 操作過程結束後,選擇【開發工具】選項卡下【代碼】組中的【停止錄制】按鈕,錄制結束,如下圖所示。


常用的vba怎麼用(懶人神器VBA越用越爽)5

步驟05 如果想查看錄制過程中自動生成的代碼,在【按鈕3】控件上右擊,單擊【開發工具】選項卡【控件】組中的【查看代碼】按鈕,打開VBA代碼窗口,如下圖所示。


常用的vba怎麼用(懶人神器VBA越用越爽)6

宏錄制後就可以執行宏了,回到工作表中,把H2:H14單元格區域的值删除掉,然後重新選中H2:H14單元格區域,單擊【按鈕3】按鈕,系統自動計算并填充銷售金額的值。


如果從第15行開始記錄當天的商品銷售情況,系統還能不能自動計算并填充銷售金額的值呢?通過試驗發現當選中H15單元格,單擊【按鈕3】按鈕後,能自動處理,但是填充了錄制宏時處理的H2:H14單元格區域的銷售金額,這不是想要的結果,但宏代碼是可以在代碼窗口中修改的。如果隻想求出有商品銷售記錄的那行銷售金額的值并填充,沒有銷售記錄的空行不顯示“0”怎麼辦呢?下面的“VBA”部分将介紹如何修改代碼以達到預期效果。


2

VBA



VBA的初學者往往是從錄制宏後查看代碼、一點點修改代碼開始學習的。


為了實現上述功能,可以利用掌握的函數知識修改宏錄制時自動生成的代碼。


例如,把原來的“Range("A1:A13")”改為“Range("A1:A100")”,這樣計算區域可以擴大到1~100行;


不想顯示空行的銷售金額“0”,可以把原來的“ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"”


改為“ActiveCell.FormulaR1C1 = "=if(RC[-2]*RC[-1]=0,clean(RC[-1]),RC[-2]*RC[-1])"”。修改後保存,關閉代碼窗口,如下圖所示。

常用的vba怎麼用(懶人神器VBA越用越爽)7

如果不從錄制宏開始,怎麼直接寫VBA代碼、查看代碼、運行代碼呢?


首先,要放一個或若幹個觸發VBA代碼的控件在工作表中。單擊【開發工具】選項卡下【控 件】組中的【插入】下拉按鈕,在彈出的下拉列表的【表單控件】選項區域中選擇需要的控件,然後拖曳鼠标在工作表中規劃好的位置上畫出該控件。


其次,給控件添加代碼。右擊選中該控件,單擊【開發工具】選項卡下【代碼】組中的【Visual Basic】按鈕,打開代碼窗口。在“Sub 控件名 … End Sub”結構中輸入符合VBA語法規則的指令代碼,如下圖所示,保存代碼,關閉代碼窗口回到工作表中。

常用的vba怎麼用(懶人神器VBA越用越爽)8

最後,執行VBA代碼。隻要單擊相應控件就能自動完成事先設計好的功能。如果要修改和查看代碼,利用【開發工具】選項卡下的【查看代碼】和【Visual Basic】按鈕都可以重新打開代碼窗口。


學習VBA要學很多内容,如VBA編輯器、語法規則、數據類型、程序結構的控制、過程和函數、常見對象等。熟練掌握VBA後,小能處理用一般函數等現有工具無法解決的問題,大能設計一個管理系統。


,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved