當(dāng)然要基礎(chǔ)的,因?yàn)閂BA里也有不少功能的實(shí)現(xiàn)依賴(lài)于Excel原始的函數(shù)、功能。
所以,最好先將excel中的函數(shù)學(xué)透了,再?lài)L試VBA。當(dāng)然,除了函數(shù)外,數(shù)據(jù)透視表、圖表制作也很重要!如下是筆者關(guān)于VBA學(xué)習(xí)的一些看法,僅供參考:1個(gè)月學(xué)會(huì)VBA,Excel從此小菜一碟/s/ (本文共計(jì)1400字,預(yù)計(jì)讀完需2分鐘)1 四大都相繼推出了自己的財(cái)務(wù)機(jī)器人,人工智能越來(lái)越火,試想一下我們每天的工作都由機(jī)器來(lái)完成,而你只需要看著機(jī)器工作就可以拿工資,而且還又快又精確,這是不是大家每天都?jí)裘乱郧蟮墓ぷ髂?!這個(gè)公眾號(hào)就是為了和大家分享怎么創(chuàng)造專(zhuān)屬于自己的“機(jī)器人”。
不管是財(cái)務(wù)、人事、工程、金融,還是廣告、銷(xiāo)售、分析員等等。不要等著被機(jī)器人取代,先自己養(yǎng)一個(gè)機(jī)器人。
很多人會(huì)覺(jué)得VBA很難,但是他們卻沒(méi)有真正了解過(guò)VBA,能學(xué)會(huì)普通話(huà)的都能學(xué)VBA,因?yàn)樗彩且婚T(mén)語(yǔ)言,是人和電腦都能懂的語(yǔ)言。當(dāng)你真正地入門(mén)VBA,你一定會(huì)感嘆:原來(lái)VBA比學(xué)普通話(huà)還簡(jiǎn)單!一個(gè)月學(xué)會(huì)VBA,絲毫不夸張 你所要付出的只是每天1到2小時(shí) 不需要精通英文,中文編碼也很有趣 大幅提升效率,立馬升職加薪2 這么簡(jiǎn)單的VBA能做什么呢?NO°/13s內(nèi) 分類(lèi)匯總1W條數(shù)據(jù) NO°/25s內(nèi) 將一個(gè)表里的數(shù)據(jù)分到多個(gè)表中 NO°/33s內(nèi) 創(chuàng)建1000個(gè)文件夾 NO°/4 自動(dòng) 登陸網(wǎng)站下載圖片或者其他數(shù)據(jù) 以及自動(dòng)發(fā)送郵件、自動(dòng)鏈接其他軟件獲取數(shù)據(jù)等 ……更好玩,更高效,更方便(更裝13) VBA能讓辦公效率提升數(shù)倍甚至數(shù)百倍!VBA不是Excel的全部,確實(shí)每個(gè)Excel高手的拿手菜!Excel不是VBA的全部,但可以借助Excel來(lái)控制整個(gè)電腦!只要你用辦公需要用電腦,就該學(xué)會(huì)VBA!如果你需要處理大量數(shù)據(jù),VBA必須得用!如果你有模塊化、流程化、重復(fù)性工作,用VBA可以一鍵完成!除此之外,VBA還能操作其他軟件,以完成和excel的數(shù)據(jù)交換和一些重復(fù)性、流程化工作,比如用excel操作sap、用友、金蝶、foxtable等,以及用來(lái)導(dǎo)出數(shù)據(jù)和上傳數(shù)據(jù)。
3 VBA 雖然很強(qiáng)大,但并不是萬(wàn)能的,有些工作用VBA 來(lái)做反而會(huì)變得更麻煩,因?yàn)槟阍谒伎剂鞒毯蛯⒘鞒剔D(zhuǎn)化為VBA 語(yǔ)言的時(shí)候,也是需要花費(fèi)時(shí)間和精力的。所以學(xué)了VBA 最大的好處就是你會(huì)不斷地思考自己的工作流程,學(xué)會(huì)在流程中找短板和瓶頸,然后做流程改進(jìn),將VBA用在恰當(dāng)?shù)沫h(huán)節(jié)上,從而大幅度提升自己個(gè)工作效率,這才是VBA將帶給你的最大改善。
上面提到的都有這些共性:重復(fù)、批量、可自動(dòng)化!滿(mǎn)足這三個(gè)的任意一個(gè),就適合用VBA,所以還有很多其他的工作都可以用VBA來(lái)完成,只要不是必須有主觀判斷的東西,計(jì)算機(jī)都能識(shí)別,然后自動(dòng)將工作完成。你,準(zhǔn)備好和我一起探索VBA的神奇世界了嗎?那怎么學(xué)習(xí)VBA呢?剛才說(shuō)一個(gè)月能學(xué)會(huì)VBA,我并沒(méi)有夸大VBA學(xué)習(xí)的簡(jiǎn)單,筆者當(dāng)時(shí)學(xué)的時(shí)候用一周了解了基礎(chǔ)知識(shí),一周后就在公司荷槍實(shí)彈開(kāi)始寫(xiě)代碼,雖然花了不少時(shí)間,但所幸最后成功了。
之后有了更多的學(xué)習(xí)機(jī)會(huì),一個(gè)月內(nèi)用VBA練習(xí)各種簡(jiǎn)單操作,到現(xiàn)在不說(shuō)精通,常規(guī)工作也都輕車(chē)熟路了。以下是筆者的學(xué)習(xí)路徑及計(jì)劃安排,你一定也可以用它事半功倍地學(xué)習(xí)VBA4 VBA基礎(chǔ)篇1、vba理論基礎(chǔ) 了解宏 學(xué)會(huì)使用VBE編輯器 了解代碼寫(xiě)法規(guī)范2、VBA中的簡(jiǎn)單交互和debug inputbox(用戶(hù)輸入)方法 msgbox(信息對(duì)話(huà)框)用法 debug(調(diào)試)及立即窗口的使用3、變量 數(shù)值型變量 非數(shù)值型變量4、變量操作與運(yùn)算 數(shù)學(xué)運(yùn)算 比較運(yùn)算 邏輯運(yùn)算 包含運(yùn)算與等效 鏈接操作5、excel對(duì)象和事件 單元格對(duì)象及事件 工作表對(duì)象及事件 工作簿對(duì)象及6、循環(huán)語(yǔ)句 了解流程及流程圖 for循環(huán) while循環(huán) do while循環(huán) do until循環(huán) 循環(huán)的終止與跳出8、自定義函數(shù)及錯(cuò)誤處理 函數(shù)與過(guò)程的區(qū)別 函數(shù)語(yǔ)法 函數(shù)參數(shù) 錯(cuò)誤跳過(guò) 錯(cuò)誤處理9、再看VBA的用戶(hù)交互 inputbox參數(shù)詳細(xì) msgbox參數(shù)詳細(xì) 以上內(nèi)容按系列更新 大家也可自己到資料區(qū)尋找適合自己的學(xué)習(xí)路徑和學(xué)習(xí)資源 筆者將持續(xù)為更新各種學(xué)習(xí)資料 包括VBA以及office套件資源。
VBA概述:VBA是Visual Basic For Application的縮寫(xiě),是VB在office中的運(yùn)用。
是基于Visual Basic For Windows發(fā)展而來(lái)的,VB For Windows是Microsoft于1992年推出的開(kāi)發(fā)Windows應(yīng)用程序的程序設(shè)計(jì)語(yǔ)言,由于基語(yǔ)法簡(jiǎn)單,易學(xué)易用,所以深受用戶(hù)的歡迎。而VBA和VB For Windows大體相似。
在Office2000之前,VBA在Word,Excel,Access等Office系統(tǒng)軟件中的運(yùn)用有些有同,但是到Office2000就統(tǒng)一起來(lái)了。Excel是第一個(gè)包含有VBA的應(yīng)用程序,自O(shè)ffice2000以后,Eexel,Word,PowerPoint,Access中已經(jīng)有了統(tǒng)一標(biāo)準(zhǔn)的宏語(yǔ)言VBA,其中Excel和Access的VBA最為成熟。
在Excel中VBA程序即可以存放有.xls中,也可以單獨(dú)以文本形式存放。對(duì)VBA的學(xué)習(xí),用戶(hù)首先必須VB有一定的了解(不過(guò)不必很專(zhuān)業(yè),畢竟經(jīng)常用Excel的用戶(hù)一般是辦公人員,不可能是專(zhuān)業(yè)編程人員),然后結(jié)合宏記錄器學(xué)習(xí)。
因?yàn)?,宏記錄器可以記錄宏,用?hù)可以非常清楚了然VBA的很多知識(shí)。另外,如果不是功能很強(qiáng)大的VBA程序,那么用宏記錄器就足夠了。
打開(kāi)密碼記錄器的方法,通過(guò)“工具->宏->錄制新宏”。另外,用戶(hù)可能用“工具->宏->宏?!?/p>
來(lái)管理宏。用“工具->宏->VB 編輯器”或Alt+F11可以打開(kāi)VB編輯器,在VB編程器,可以很方便地整個(gè)VB工程進(jìn)行管理,可以方便地編寫(xiě)VBA代碼,另外,用戶(hù)可以再點(diǎn)擊Alt+F11切換到Excel窗口。
VBA的使用過(guò)程: 1、創(chuàng)建一個(gè)Excel文件。 2、創(chuàng)建一個(gè)控件,然后雙擊控件或是右擊該控件,點(diǎn)擊“查看代碼”,就可以對(duì)該控件的某個(gè)事件,如click,keydown等。
進(jìn)行編寫(xiě)執(zhí)行代碼了。創(chuàng)建控件的方法是,點(diǎn)擊“視圖->工具欄->控件工具箱”,打開(kāi)“控件工具箱”欄,然后就可以直接拖動(dòng)某個(gè)控件到Excel單元格中去。
在Excel中窗口,添加的控件一般是處于執(zhí)行狀態(tài)的,如果要對(duì)這個(gè)控件進(jìn)行編輯,除了第一次建立的時(shí)候可以對(duì)它進(jìn)行屬性編輯外,打開(kāi)“控件工具箱”,也可以使控件處于編輯狀態(tài),如果還不行,可以再添加一個(gè)控件,然后已有的控件絕對(duì)會(huì)處于編輯狀態(tài)。當(dāng)然,對(duì)控件修改完畢后,別忘了刪除剛才新添加的沒(méi)有用的控件。
在編輯狀態(tài)中,你可以右擊該控件,點(diǎn)擊“屬性”,那么就可以打開(kāi)屬性窗口,在這個(gè)窗口里,你可以很方便的對(duì)這個(gè)控件的名字,標(biāo)題,大小等屬性進(jìn)行編輯。 3、手動(dòng)或用宏記錄器對(duì)該控件的某個(gè)事件進(jìn)行編碼。
宏記錄器簡(jiǎn)單易用,不過(guò)強(qiáng)大的功能還是必須手動(dòng)編寫(xiě)VBA。VBA對(duì)象介紹: 編寫(xiě)VBA代碼的最關(guān)鍵在于靈活運(yùn)用VBA對(duì)象,對(duì)這些VBA對(duì)象的屬性或方法進(jìn)行操作。
另外,你也可以創(chuàng)建自定義函數(shù),來(lái)對(duì)某些操作進(jìn)行封裝。既然是VBA,編碼風(fēng)格當(dāng)然和VB相同,如果會(huì)VB,那么只要對(duì)VBA的對(duì)象比較了解,就可以編寫(xiě)功能強(qiáng)大的VBA程序;同樣,如果不會(huì)VB,那么,只需要了解VBA的對(duì)象就夠了,因?yàn)樗容^簡(jiǎn)單易學(xué)。
以下分別討論VBA各對(duì)象對(duì)其屬性與方法: 在一些可以包含其他對(duì)象的窗口對(duì)象中,有幾個(gè)特殊的屬性,其屬性值是當(dāng)前活動(dòng)對(duì)象,對(duì)它們,可以直接引用。表1 一些特殊的屬性 對(duì)象名 含義 ActiveWorkbook 當(dāng)前工作簿,即如果你打開(kāi)了幾個(gè)Excel文件,那么你當(dāng)然正在編輯的Excel文件即ActiveWorkbook ActiveSheet 當(dāng)前工作簿中的當(dāng)前工作表,即當(dāng)前編輯的Excel文件中正在編輯的工作表 ActiveCell 當(dāng)前工作表中活動(dòng)單元格 ActiveChart 當(dāng)前工作簿中的活動(dòng)圖表 Selection 當(dāng)前被選定的對(duì)象 下面詳談各對(duì)象及它們的屬性和方法 一、Application對(duì)象 此對(duì)象指Excel應(yīng)用程序的工作環(huán)境。
屬性 1.Caption屬性 含義:Excel應(yīng)用程序標(biāo)題欄顯示的文本。 舉例:Application.caption=“船員管理系統(tǒng)”,如賦值Empty,則恢復(fù)Excel默認(rèn)的標(biāo)題欄。
2.Cursor屬性 含義:Excel中鼠標(biāo)的形狀。 表2 Cursor屬性 屬性值 鼠標(biāo)形狀 xlDefault 缺少型值,鼠標(biāo)呈缺少形狀 xlWait 等待型值,鼠標(biāo)呈不斷翻轉(zhuǎn)的沙漏形狀 xlNorthwestArrow 箭頭型值,鼠標(biāo)呈標(biāo)準(zhǔn)箭頭形狀 xlIBeam 文本型值,鼠標(biāo)呈“I”字形以等待用戶(hù)輸入文本 操作:Application.Cursor=xlWait等。
3、DisplayAlerts屬性 含義:用以確定是否顯示系統(tǒng)的應(yīng)用提示和警告信息,如果不想顯示,則把些屬性設(shè)為false,反之亦然。4、DisplayFormulaBar屬性 含義:用以確定是否顯示公式編輯欄 5、DisplayScrollBars屬性 含義:用以確定是否顯示Excel的滾動(dòng)條 6、DisplayStatusBar屬性 含義:用以確定是否顯示Excel的狀態(tài)欄 7、EnableCancelkey屬性 含義:用以確定是否允許用戶(hù)中斷正在執(zhí)行著的VBA程序。
缺省情況下,在VBA程序執(zhí)行過(guò)程中,用戶(hù)按下Ctrl+Break能夠中斷VBA程序的執(zhí)行。此時(shí)此屬性即值為xlInterrupt。
若要禁止中斷VBA程序,由賦值為xlDisabled;若需要VBA執(zhí)行過(guò)程中遇到錯(cuò)誤進(jìn)中止,由賦值為xlErrorHandler8、ScreenUpdating屬性 含義:用以確定是否顯示VBA程序的中間運(yùn)算結(jié)果。 9、StatusBar屬性 含義:設(shè)置狀態(tài)欄的文本 10、ActiveWorkbook屬性 含義:如表1介紹。
11、ActiveSheet 含義:如表1介紹。 12、ActiveCell屬性 含義:如表1介紹。
13、ThisWorkBook屬性 含義:用以返回正在執(zhí)行著VBA程序。
下面是我多年前自學(xué)VBA的方法(多看HELP):
1. 點(diǎn)菜單的工具,宏,錄制宏,做一些簡(jiǎn)單的動(dòng)作,如在A1輸入1,在B1輸入
=A1*2,將B1的字體顏色設(shè)為紅色,停止錄制。同時(shí)按Alt和F11進(jìn)入VB界面,在左上窗口找到模塊一,雙擊,右邊窗口出來(lái)了你錄制的宏的代碼。懂
英語(yǔ)最好了,一句一句就象白話(huà)文:)
在任意一個(gè)單詞前,按F1,就會(huì)有幫助。
2. 裘伯君說(shuō):編程只需掌握判斷語(yǔ)句。VBA中典型的判斷語(yǔ)句如下:
if 某條件
then
一些語(yǔ)句
else
又一些語(yǔ)句
end if
簡(jiǎn)單的if語(yǔ)句可以是
if 某條件 then
一
些語(yǔ)句
end if
更簡(jiǎn)單的判斷語(yǔ)句為
if 某條件 then 一語(yǔ)句
舉例,在你錄制的代碼處粘貼以下
宏:
Sub Test()
If 5 > 2 then Msgbox "I Love U!"
End Sub
按
F5運(yùn)行此宏,你會(huì)看到一消息框,“I Love U!"
所有的操作無(wú)非是一大堆邏輯判斷,即If語(yǔ)句中再套If語(yǔ)句。
3.
除了判斷語(yǔ)句,還應(yīng)掌握循環(huán)語(yǔ)句,應(yīng)為電腦擅長(zhǎng)的就是重復(fù)工作:)
粘貼以下代碼在有你錄制宏的地方:
Sub Test2()
for
i = 1 to 10
cells(i,1)=i
cells(i,1).font.colorindex = i
next i
end
sub
把宏的窗口變小些,讓你能看到Excle表格的A列,在宏的窗口中重復(fù)按F8,看Excle里的變化。
For 。
to 。
一些語(yǔ)句
Next
是經(jīng)典的循環(huán)語(yǔ)句,剛才那個(gè)代碼的意思是從1重復(fù)到10,其中Cells(i,1)是工作表中的第
i行第1列,font.colorindex你錄制的第一個(gè)宏里有的,就是設(shè)字體顏色。
另外,你可以多來(lái)QQ問(wèn)問(wèn)中搜搜,比如直接搜VBA,或者點(diǎn)我的名字看有哪些VBA的問(wèn)題:)
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:2.688秒