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