宏友瘤、VBA基礎(chǔ)

檢測錄入數(shù)據(jù)的有效性:數(shù)據(jù)-有效性-設(shè)置

從外部數(shù)據(jù)源中導(dǎo)入數(shù)據(jù):數(shù)據(jù)-導(dǎo)入數(shù)據(jù)(或者是獲取外部數(shù)據(jù))

篩選數(shù)據(jù)-高級模式+選項(xiàng)#可進(jìn)行升降序排列基公、前十項(xiàng)or高于平均值的項(xiàng)条篷,還可以進(jìn)行分析

?

Lower函數(shù):字母轉(zhuǎn)化為小寫

Upper函數(shù):字母轉(zhuǎn)化為大寫

Trim函數(shù):刪除字符串之間的多余空格

?

Year函數(shù):返回年份值

Month函數(shù):返回月份值

Day函數(shù):返回一月中第幾天的數(shù)值

Now函數(shù):返回當(dāng)前系統(tǒng)的日期時(shí)間值

Today函數(shù):返回日期格式的當(dāng)前日期


是被存儲在Visual Basic模塊中的一系列命令和函數(shù)需纳。#類似于c中的一個(gè)函數(shù)

制作宏的方法:

1.錄制宏

#類似于錄像機(jī)芦倒,簡單易學(xué),甚至可以允許不懂VBA的人創(chuàng)建

2.編寫宏

在VBE開發(fā)環(huán)境中輸入操作過程的程序代碼


啟動(dòng)+安裝宏:開發(fā)工具

##個(gè)人使用:下載專業(yè)版然后再卸載(暫未驗(yàn)證成功性)

錄制宏:錄制新宏-操作-停止錄制

#可以刪除已錄制的宏不翩;編輯宏是指修改宏操作中的VBA代碼

在錄制宏時(shí)可以設(shè)置快捷鍵兵扬,快速執(zhí)行#優(yōu)于任何同級別的excel默認(rèn)快捷鍵


保存帶宏工作薄:正常保存數(shù)據(jù)后關(guān)閉excel彈出的窗口(VB項(xiàng)目),選擇‘否’彈出‘另存為’-在‘保存類型’中選擇‘excel啟用宏的工作薄’-保存


執(zhí)行宏之前可能需要:開發(fā)工具-宏安全性-信任中心-宏設(shè)置-啟動(dòng)所有宏-確定

執(zhí)行宏的操作可以使用圖片(可以是自己的)在進(jìn)行執(zhí)行操作#指定宏

實(shí)際上口蝠,也可以將宏指定給工作欄中的自定義按鈕#選項(xiàng)-自定義


加載宏:加載項(xiàng)

#在錄制宏之后保存時(shí)器钟,文件格式選擇可以選擇加載宏,就可以加載自己錄制的宏

#可以下載其他人制作的妙蔗,類似于python包傲霸?


?

?

?

?

?

VBA是office對象和VBA程序代碼之間互相關(guān)聯(lián)和交流的橋梁。

VBA的主要任務(wù)是通過編寫程序代碼來操作office對象,從而完成特定的任務(wù)操作昙啄。

#VBA是VB的一個(gè)分支穆役。其設(shè)計(jì)目的、開發(fā)環(huán)境梳凛、編譯執(zhí)行文件耿币、運(yùn)行方式、可用資源都不同韧拒。


對象:

Application對象:代表整個(gè)excel應(yīng)用程序

Workbook對象:代表excel工作薄

Worksheet對象:其包含在workbook對象中淹接,實(shí)際上就是workbook對象中獨(dú)立的一頁

Range對象:

Chart對象:代表圖表對象


集合:

Workbooks集合:表示在excel應(yīng)用程序中打開當(dāng)前所有的workbook集合

Worksheets集合:表示指定工作薄或活動(dòng)工作薄中所有的worksheet

Sheets集合:所有workbook對象+chart對象


使用對象的規(guī)則:

1.設(shè)置對象屬性:object.propertyname=value ?#工作表名稱.對象的屬性=對象屬性的值

2.獲取對象屬性:var_propertyname=object.propertyname #變量=工作薄.函數(shù)操作

3.使用對象的方法:object.method #工作表.函數(shù)操作


常量:const常量名 as 數(shù)據(jù)類型 = 值

變量:

Dim 變量名 as 數(shù)據(jù)類型;#會隨著程序的運(yùn)行結(jié)束而被清除

變量的生存周期:在代碼中從實(shí)用該變量開始叛溢,到該變量被計(jì)算機(jī)從內(nèi)存中刪除為止的這段時(shí)間塑悼;

Static 變量名 as 數(shù)據(jù)類型;#變量每次更新的值都能被保留下來

變量轉(zhuǎn)換函數(shù):函數(shù)名(表達(dá)式)


數(shù)據(jù)運(yùn)算:

算術(shù)運(yùn)算符:+雇初、-拢肆、*、/(除,返回浮點(diǎn)數(shù))、\(除问慎,返回整數(shù))刁卜、mod、^

#優(yōu)先級:^ ?-(負(fù)) ?\和* ?/ ?mod ?+和- ?&

比較運(yùn)算符:<庵朝、>、<=、>=攒庵、=、<>败晴、is浓冒、like

#優(yōu)先級:= ?<> ?< ?> ?>= ?<= ?is和like

連接運(yùn)算符:&和+ ?#語法結(jié)構(gòu): result=ex1&ex2 ??result=ex1+ex2

邏輯運(yùn)算符:and和or


控制語句:

1.判斷結(jié)構(gòu):

1)if condition then [statements]

#當(dāng)condition為true時(shí),執(zhí)行【statements】尖坤,否則什么也不執(zhí)行

2)if condition then [statements] else [statements]

3)if condition then[statements] else[statements] end if

#該語句與2)類似稳懒,但卻是以塊的形式表示的

4)if condition then[statements]else if condition then [statements]...else[statements] end if


2.循環(huán)語句:

1)do...loop語句

do[{while|until}codition]

[statements]

[exit do]

[statements]

loop

#類似于c中的while語句,還有一種必須循環(huán)一次的語句變形慢味,也可以進(jìn)行嵌套

2)for next

For counter=start to end[step step]

[statements]

[exit for]

[statements]

Next[counter]

#counter可以替換成i較好理解

3)for each ... next語句

For each element in group

[statements]

[exit for]

[statements]

Next[element]


3.錯(cuò)誤轉(zhuǎn)移語句

#就是在程序出錯(cuò)時(shí)场梆,忽略錯(cuò)誤或是將程序轉(zhuǎn)移到指定位置

1)on error goto語句

2)on error resume next語句


4.with語句

#其主要作用是簡化程序的代碼,增加可讀性纯路,并便于維護(hù)

With object

[statements]

...

End with



5.select case 語句

#類似與C中的switch或油,case語句

Select case expression

[case expressionlist-n]

[statements]

...

End select


程序根據(jù)有無執(zhí)行的對象分為模塊程序、過程程序驰唬、事件程序


模塊程序:

模塊是作為一個(gè)單元保存在一起的VBA定義和過程的集合顶岸,是存放VBA程序代碼的地方--分為標(biāo)準(zhǔn)模塊和類模塊

標(biāo)準(zhǔn)模塊:用于存放全局變量公共函數(shù)大的聲明腔彰、函數(shù)、自定義函數(shù)等辖佣,用戶可以在模塊所在的工程中調(diào)用該模塊的全局變量萍桌、函數(shù)等。--標(biāo)準(zhǔn)模塊只能在同一個(gè)工程中使用凌简。

類模塊:用于存放用戶自己創(chuàng)建對象的定義上炎。--=可跨工程使用(但較少使用)

插入-模塊


過程程序:

過程是最小的邏輯單元,其包括一系列用于完成某項(xiàng)任務(wù)或計(jì)算的語句雏搂。

過程程序簡單點(diǎn)來說就是通過代碼完成一個(gè)任務(wù)藕施。可根據(jù)有無返回值分為函數(shù)過程程序和子過程程序凸郑。

過程程序的添加:在模塊中添加裳食;在工作薄中添加;在工作表對象中添加

子程序過程常用語法

Sub過程名稱()

程序代碼

End sub

#可以將宏看成一個(gè)子過程程序芙沥。

函數(shù)過程程序與子過程程序類似诲祸,只是需要一個(gè)返回值


事件程序:

一種特殊的子過程程序,當(dāng)某種特定事件發(fā)生時(shí)才執(zhí)行的程序而昨。

Sub 對象名稱——事件名稱(自變量)

程序結(jié)構(gòu):

程序代碼

End sub


過程程序和事件程序的區(qū)別

1.過程程序所有的程序代碼必須手動(dòng)創(chuàng)建救氯,事件程序開始結(jié)束代碼可通過選擇對象和對象的事件自動(dòng)生成

2.過程程序通常通過宏調(diào)用,事件程序在某個(gè)事件被觸發(fā)時(shí)執(zhí)行

3.過程程序常與用戶自定義的對象相關(guān)聯(lián)歌憨,事件程序常與excel本身存在的對象相關(guān)聯(lián)


對象:工作薄着憨、工作表、單元格务嫡、圖表甲抖、窗體、按鈕...都是對象


屬性:

在excel中對象和屬性用.隔開:對象.屬性=屬性值

賦值給變量時(shí):變量=對象.屬性


方法:

方法是指對對象執(zhí)行的某種動(dòng)作心铃,從而完成某件事情或某種動(dòng)作准谚。

對象.方法 自變量

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市去扣,隨后出現(xiàn)的幾起案子柱衔,更是在濱河造成了極大的恐慌,老刑警劉巖厅篓,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秀存,死亡現(xiàn)場離奇詭異捶码,居然都是意外死亡羽氮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門惫恼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來档押,“玉大人,你說我怎么就攤上這事×钏蓿” “怎么了叼耙?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長粒没。 經(jīng)常有香客問我筛婉,道長,這世上最難降的妖魔是什么癞松? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任爽撒,我火速辦了婚禮,結(jié)果婚禮上响蓉,老公的妹妹穿的比我還像新娘硕勿。我一直安慰自己,他們只是感情好枫甲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布源武。 她就那樣靜靜地躺著,像睡著了一般想幻。 火紅的嫁衣襯著肌膚如雪粱栖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天脏毯,我揣著相機(jī)與錄音查排,去河邊找鬼。 笑死抄沮,一個(gè)胖子當(dāng)著我的面吹牛跋核,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叛买,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼砂代,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了率挣?” 一聲冷哼從身側(cè)響起刻伊,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎椒功,沒想到半個(gè)月后捶箱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡动漾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年丁屎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旱眯。...
    茶點(diǎn)故事閱讀 40,110評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晨川,死狀恐怖证九,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情共虑,我是刑警寧澤愧怜,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站妈拌,受9級特大地震影響拥坛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尘分,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一渴逻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧音诫,春花似錦惨奕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至香罐,卻和暖如春卧波,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背庇茫。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工港粱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人旦签。 一個(gè)月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓查坪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宁炫。 傳聞我的和親對象是個(gè)殘疾皇子偿曙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容