excel2010vba筆記(實戰(zhàn)教程)(基礎(chǔ)實例)_第1頁
excel2010vba筆記(實戰(zhàn)教程)(基礎(chǔ)實例)_第2頁
excel2010vba筆記(實戰(zhàn)教程)(基礎(chǔ)實例)_第3頁
excel2010vba筆記(實戰(zhàn)教程)(基礎(chǔ)實例)_第4頁
excel2010vba筆記(實戰(zhàn)教程)(基礎(chǔ)實例)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 VBA筆記8-21VBA是什么:微軟開發(fā)出來的應(yīng)用程序一種能共享通用的自動化語言,VBA能使已有的應(yīng)用程序(excel等)自動化,可以創(chuàng)建自定義的解決方案等同:可以用excel的宏語言來使excel自動化,使用wordBASIC使word自動化,等等。VBA可以稱作excel的“遙控器.此外,如果你愿意,還可以將excel用做開發(fā)平臺實現(xiàn)應(yīng)用程序.VBA可以實現(xiàn)的功能使重復(fù)的任務(wù)自動化.自定義excel工具欄,菜單和界面.簡化模板的使用.自定義excel,使其成為開發(fā)平臺.創(chuàng)建報表.對數(shù)據(jù)進(jìn)行復(fù)雜的操作和分析.宏3.1錄制簡單的宏選擇“工具”“宏”“錄制新宏”輸入宏名確定開始錄制(狀態(tài)欄中顯

2、示“錄制”)結(jié)束宏錄制(“工具”“宏”“停止錄制”。)*開始錄制并非一個按鈕,而是你的一系列操作,宏會記錄下來變?yōu)樽约旱牟僮鳌?.2執(zhí)行宏選擇任何一個單元格選擇“工具”“宏”“宏”(出現(xiàn)“宏”對話框)選擇相應(yīng)的宏名“執(zhí)行”。3.3查看錄制的代碼工具”“宏”“宏”(顯示“宏”對話框)選擇某個宏“編輯”VBA的編輯器窗口(VBE)Sub改變顏色()/宏名改變顏色Macroxw記錄的宏2000-6-10/以上五行錄制時自動生成Range(A5).Select/表示無論選擇哪個單元格,最后都只作用于A5WithSelection.Interior/設(shè)置屬性在選擇區(qū)域的內(nèi)部(開始錄制屬性).ColorI

3、ndex=3/顏色為3號色:紅色.Pattern=xlSolid/區(qū)域內(nèi)部圖案=純色(錄制時自動生成,可刪)PatternColorIndex=xlAutomatic/內(nèi)部圖案底紋顏色=自動(自動生成,可刪)EndWith/結(jié)束屬性錄制EndSub/結(jié)束宏錄制一個名為練習(xí)的宏:Sub練習(xí)()I練習(xí)宏WithSelection.Borders(xlEdgeLeft).LineStyle=xlContinuous.ColorIndex=0.TintAndShade=0.Weight=xlMediumEndWithWithSelection.Borders(xlEdgeTop).LineStyle=

4、xlContinuous.ColorIndex=0.TintAndShade=0.Weight=xlMediumEndWithWithSelection.Borders(xlEdgeBottom).LineStyle=xlContinuous.ColorIndex=0.TintAndShade=0.Weight=xlMediumEndWithWithSelection.Borders(xlEdgeRight).LineStyle=xlContinuous.ColorIndex=0.TintAndShade=0.Weight=xlMediumEndWithSelection.Borders(xl

5、InsideVertical).LineStyle=xlNoneSelection.Borders(xlInsideHorizontal).LineStyle=xlNoneWithSelection.Interior.Pattern=xlSolid.PatternColorIndex=xlAutomatic.Color=5296274.TintAndShade=0.PatternTintAndShade=0EndWithWithSelection.Font.Color=-16727809.TintAndShade=0EndWithEndSub3.4為宏指定快捷鍵創(chuàng)建宏時指定:只須在錄制宏時在輸

6、入宏名后,在“快捷鍵”文本框中輸入相應(yīng)的鍵。錄制宏后指定:選擇“工具”“宏”,顯示“宏”對話框選擇要指定快捷鍵的宏“選項”選項”對話框3.5決定宏保存的位置在創(chuàng)建時選擇保存位置。當(dāng)前工作簿。(只有該工作簿打開時,該宏才可用。)2)新工作簿。3)個人宏工作簿。(要讓某個宏在多個工作簿都能使用,那么就應(yīng)當(dāng)創(chuàng)建個人宏工作簿,并將宏保存于其中。個人宏工作簿保存在“XLSTART”文件夾中。3.6將宏指定給按鈕工具欄“按鈕”添加按鈕完成-“指定宏”對話框選擇宏-確定改名按鈕名稱3.7將宏指定給圖片或其他對象指定給圖片:單擊某個圖片單擊菜單中“指定宏”進(jìn)行設(shè)置即可;將宏指定給“工具欄按鈕”:1)打開“H0

7、UR2”工作簿,選擇“工具”-“定義”,顯示“自定義工具欄”對話框。2)從“類別”列表框中選擇“宏”,從“命令”列表框中選擇“自定義按鈕”。3)將“自定義按鈕”拖動到工具欄。4)右鍵單擊該按鈕,選擇“指定宏”,顯示“指定宏”對話框。5)選擇“格式化文本”并確定。6)單擊“關(guān)閉”按鈕,關(guān)閉“自定義工具欄”對話框。7)試著在某個單元格中輸入文本,單擊工具欄按鈕運行該宏。4.控件向工作表添加控件設(shè)置控件的特性5.理解變量5.1創(chuàng)建一個簡單的過程1)創(chuàng)建一個名為你叫什么名字的過程.2)在過程中輸入如下代碼:Inputbox輸入你的名字:現(xiàn)在不要擔(dān)心inputbox語句的語法,將在第六學(xué)時中了解到有關(guān)這

8、條命令的更多信息3)按下F5鍵運行過程,這時會顯示一個輸入框,要求輸入你的名字.4)輸入你的名字并按確定按鈕,則結(jié)束該過程.5.2變量的數(shù)據(jù)類型VBA數(shù)據(jù)類型:byte,string,variant,integer,single。5.3聲明變量Dim變量名AS數(shù)據(jù)類型5.4簡單的子程序1)創(chuàng)建一個名為顯示你的名字的子程序.2)輸入以下代碼:PublicSub顯示你的名字()Dims名字AsStrings名字=Inputbox(請輸入你的名字:)Msgbox你好&s名字EndSub3)將鼠標(biāo)放到過程中的任何地方,按下F5鍵運行過程,會顯示一個輸入框.4)輸入你自己的名字并按回車鍵,會顯示一個消息

9、框,顯示的文字中包含你自己的名字.5)單擊確定按鈕,返回過程中.使用數(shù)組Dimarray_name(n)Astype(其中n是數(shù)組元素的個數(shù))例:Dims學(xué)生名字(9)AsInteger(保留10個學(xué)生名字)Dimdyn_array()Astype(N可以省略)ReDimdyn_array()(array_size):在程序運行時用:ReDim語句指定數(shù)組的大小,array_size代表數(shù)組的新大小。ReDimPreservedyn_array(array_size):保留數(shù)組的數(shù)值變量賦值Dimi人數(shù)AsIntegerDimi考試成績AsIntegerDimiAsIntegeri人數(shù)=inp

10、utbox(輸入學(xué)生的人數(shù):)ReDimPreservei考試成績(i數(shù)量)Fori=1toi人數(shù)i考試成績(i)=inputbox(輸入考試成績&i)Next5.7使用常量constS銷項稅率AsLong=0.17通常常量聲明時用全大寫字母以區(qū)分變量.5.8公共級變量/常量變:PublicvariablenameAsdatatype常:PublicconstCONSTANAMEdatatype=value5.9作用域1某一過程頂部:局部or過程級;2某一模塊頂部:模塊級3所有過程(通用聲明區(qū)域):公共級/全局8-226.VBA語言基礎(chǔ)6.1標(biāo)識符標(biāo)識變量、常量、過程、函數(shù)、類等。利用它可以完

11、成對變量、常量、過程、函數(shù)、類等的引用。*字母打頭,不能與VB保留字重名,如public,private,dim,goto,next,with,integer,single等。6.2運算符2)數(shù)學(xué)運算符&、+(字符連接符)、+(加)、-(減)、Mod(取余)、(整除)、*(乘)、/(除)、-(負(fù)號)、A3)邏輯運算符Not(非)And(與)、Or(或)、Xor(異或)、Eqv(相等)、Imp(隱含)4)關(guān)系運算符=(相同)、(不等)、(大于)、=(不小于)、=(不大于)、Like、Is5)位運算符Not(邏輯非)、And(邏輯與)、Or(邏輯或)、Xor(邏輯異或)、Eqv(邏輯等)、Imp(

12、隱含)6.3數(shù)據(jù)類型名稱符號長度字符串型String$字符長度(0-65400)字節(jié)型Byte無1布爾型Boolean無2整數(shù)型Integer%2長整數(shù)型Long&4單精度型Single!4雙精度型Double#8日期型Date無8公元100/1/1-99/12/31貨幣型Currency8小數(shù)點型Decimal無14變體型Variant無以上任意類型,可變對象型Object無46.4變量與常量1)賦值運算符指數(shù))Dim變量as類型定義為局部變量,如DimxyzasintegerPrivate變量as類型定義為私有變量,如PrivatexyzasbytePublic變量as類型定義為公有變量,

13、如PublicxyzassingleGlobal變量as類型定義為全局變量,如GloblalxyzasdateStatic變量as類型定義為靜態(tài)變量,如Staticxyzasdouble*作用域的原則是,哪部份定義就在哪部份起作用*常量為變量的一種特例,用Const定義,且定義時賦值,程序中不能改變值,見5.7和5.8節(jié)6.5數(shù)組同5.5節(jié)6.6書寫規(guī)范1)VBA不區(qū)分標(biāo)識符的字母大小寫,一律認(rèn)為是小寫字母;2)一行可以書寫多條語句,各語句之間以冒號:分開;3)一條語句可以多行書寫,以空格加下劃線_來標(biāo)識下行為續(xù)行標(biāo)識符最好能簡潔明了,不造成歧義。7語句7.1判斷語句IfThenElse語句:

14、IfconditionThenstatementsElsestatements。IfconditionThenstatementsElseIfconditionThenstatementselseif。then.else.EndIf例:IfNumber10ThenDigits=lElseIfNumbercel卄反心孝芳LictRows.Add方法何指毘的ListCbject聽代表的養(yǎng)格中忝口噺行.語袪覆送式AcWf陽朋如如挪ft&wsE覆諛式-T代表ListHo州對眾的曼此參數(shù)型數(shù)類LineJirCjraiiientLineFQrmtLirikFormatListCibjiTirLListCo

15、liiiTinsListDataForiTiatFunctionAddjffPi/f/pr,!血#眇sTnw&rf)AeLigtRoEHteLI.istRoirs的成員oitjon_可遠(yuǎn)VariantInteger指走新訂的卞刪位直B曲曲血指定芒拯入新彳聞,是吞始終穗動表格中杲冷一仃下面匍宜記格中的數(shù)據(jù)湎不老慮疾珞下歪的匸是吞為空廳“奶呆為True.則表格=面的單応柜將下移4噸扳初可遠(yuǎn)variant一訂如杲対False并貝表格下殖的行討空行原格格尹展旦占用愎空行而不襪動它下雨的單壬培;包如杲恵格下百的行赳含毅據(jù)則在插冷行取這些單械理回值一亍代蕊新行的LktT期竦說明如果不5錠Positioni

16、新廳辭加到底部.如杲不指定月加0?兌燈表洛卩面曲單元嵇將下搭F(與蓿定True的乍用向)-Ll下示例向T性逋的簞一張丁ftw中的默認(rèn).L謚r&ttt丹茨忝仙環(huán)r”:調(diào)出屬性窗口F5:將鼠標(biāo)放在某過程或函數(shù),可運行該過程;F8分步運行,適合檢錯;工程-VBAProjiectPVDMceKGXism-.rmNCTRL+G調(diào)出立即窗口PTb廠Shee13tbiaoS)Shst4tbiao4)5het5CbiaoS)IhiEfforkbookSkeetZWorkslteet按字母序採拚類序Subnw:0第三列l(wèi)-10lj的佰等于第1和2列值的連接DimiAsEytt:Fori=1Tu10Step2Ce

17、lls(i,=CellsCi;1)d&Cells(i,肛爼tiEtlSubsub指定章元翻所埜探DimiAsByteTori=1To10IfCells(i,3)ThenRows(i,J.Hidden-F:=lLsei:=lo2)1-ShaetS(biaoS)HjSheet4I.biao4)HjSheet5I.biao5)fiTIllsAorlzticiok1固窗住1B窗體理論IB窗色實踐:“國駕頁窗體F-&梗抉4t窗懷輔助檯決灌過程複決廳函數(shù)複訣盈交玄槿塊盈數(shù)組槿塊+d類模塊_匚程-VBAProject(FUBERKS.ILMI-*(VBAteit.xIebEscel對竦ChirolJChi血

18、jVBAteHt.Mlm-5heet21代碼)VBAfceHLHlsm-Subinsert(Jdl=10el:e41二11Cell3:;4):=Iiti(RilJ(.):.*100)MextiRria_5nbSubmm011.在打開的workbook的某個excelworksheet對象中練習(xí)sheet2:SnzbmrrQ第三列1-口行的值等于第1和2列值的連接DimijVzEiyt已Fori=1To1US+_ep2Cellsti,3)=Cells-tb1)A&Cells-Gj2):NextiEndSubsiibhi瞥仙Q偃蔽指定單元槁的所花行DimiXiByteTori=1To10Ifcm,

19、3)ThenRows(i).HiddeR=FsIeierc.ws(rkuniber)對翼/K:Jdent對象具有匚屈性可崎光標(biāo)逆在該屬性或者對象上然后捋F1鍵j查看衲肋介貂EndIfNextiEndSubSinzerUtr兩單亓榕或署單元格區(qū)瑜插入數(shù)播dl=10el:e4二11Rang:.幻旳=12Range(B:elO=13DimiAsByteFori=2Tc10CellsG,0二Int(kndO-*1UC)fMO為產(chǎn)生CH才間隨機數(shù)轅的函數(shù),在9.2節(jié)數(shù)學(xué)函數(shù)中有介鉛HextiEndSub國感inSAFroject:r尊inSAFrojectB-密IflicrosoftHlSh&etl|S

20、h&et2HlSh&etSHSh&et4Chiio4jHSh&etSChiioSjJThisYforktooki密窗懷幽窗傳輔助摸以遵過稈複訣遵函數(shù)按訣遵交互複訣遵數(shù)姐複訣+類棋按 thisworkbook:圍首ILJThisWorkbookEnriSub孩字母序II-VBAProjectIfIsNumerictrcell.ValueJThenIfceLL.Value越用)*i:lQrsh.eet-JJshpn表不每慮if3.Cells如果為2則表喬狷環(huán)為打玄默認(rèn)百1可省略Sh66ti(2.CellEli,jj;nun.bertozsi-廠將題的值變対別Subcolorsheet0數(shù)行忝巫頗色

21、一Dim1AsByteFori=1Tokpplication.-Select!on.Rows.CcuntiMol-;2=iThenSalection.Roweti1/1nterior.Color二R.GE(100,150,200)SubmyaddinE0DimmyaddinAsA-ddln.ForEachmyaddin.InAddinsHzdktnyaddiik.FKilllTaineNextEnd.Sub可以看出寫在sheet中的過程不需要加工作表的對象引用,寫在workbook中的過程則需要添加工作表對象引用例子:sheetl中:range(“Al”).value=lthisworkboo

22、k:sheets(1).range(“A1”).value=1達(dá)到的效果相同,但寫在不同的位置,表達(dá)語句不同。再次觀察以上實例,發(fā)現(xiàn)是不是這個樣子? 12在模塊中進(jìn)行練習(xí)A添加模塊在模塊菜單上右擊-插入-模塊即可,添加窗體和類模塊的方法相同。B.更改模塊名稱在其屬性窗口的名稱處更改即可C.實際操作過程模塊以下均為過程模塊中依次輸入的過程的截圖,不同過程之間用長劃線自動隔開程-VBAProject:範(fàn)VBATrojeetCFWCRES.ILAI孑SVBATrojec(VBAt.exL.x.sb:-樹MicrosoiExcel對象|SjShee七1C.bi:=lo1);BjSheets5iao2:

23、);BjSlLeet3C.biao3)|BjSLeet4lbiac4)愛強ee出知址前.fiThistforkbooki國窗悻理論i圃窗悴實匪i圃多頁窗悴日已檯塊A窗悴輔助模塊4過程根塊灌函數(shù)模塊灌交直模塊灌數(shù)齟模塊fe-Q類模塊過程複塊複快SuLm:nipulati口口百();?進(jìn)行轉(zhuǎn)換En-lSuLT1-七-M-inhS竺計寸.Sr予i元-t7_4QAJek工=_T1diJ5-.-箱玄宜.y-!施5gpleg.疋M0嗨lrilKr返苴計&trtr刪的A.PIWStB數(shù)字進(jìn)etASAS囂數(shù)面elTrIIL刖功后7?TT1中-Ltb入亠仕=:b廣鎰需ruh.lnllrTIzlr若如-st5DD

24、iJ.ID5ittestidd0-測試自疋交的呼*3函數(shù)Dima.AsInteger,bksInteger,cAzInteger100010myadd.(ab)杭字母序按分類序(名稱過程模塊WithActiveShset.ShipssCtKtbiK1)移沛老為戈卓訃詠i的文本框位置,井改變苴大小.Sslct.Lefi.=ID.Top=10.tiidth二35.Height=15EndWith.With.扎匚i1veSheet.Shapee-憨動第二圖老,韻験匪,并改變苴大小.Select.Left=20.Top-10.tiidth=15.Height=15EndWith.EndEuL 工程-V

25、B/VProjcctVflAtexLxhm-過程屢燒(代碼)jnlxl4S.:-atprba.ea.xls(ATfYSASH.ELMVBATrojedVBATrojed宮MicrosoftSheetlSheetsSh.eet3:Sheets:Sh.eet5OVBCKE5.XIAH)ex-l.xisa)Esicel對象(biaol)(bn(biao3)(biao41(biao51Th.iEWorkbook卜“陶窗佈理論討盪窗體實踐“聲多頁窗佈燿窗體輔助複塊燿過程根換End.SubSubttaitsccmtent(;聖切或復(fù)制數(shù)據(jù)到目標(biāo)區(qū)域Worksheets.Activate1:5,Sel&c-

26、t2elctin.CutDestina.tiQii;=EaiigeCel:cut可用cpy換E.ndvbSubstaticte:itl0靜蠱數(shù)袴,逵次矗行后內(nèi)容不丟興人會一直俁存,適含糧累計統(tǒng)計StatictotalcostDimnewjcostlAstriitgHimnewcqst?AsSinglenewcsstl=工npuiiBoit揄無卒次費用-)盪回予附串芬璽迪newcostZ-=CSugtnewcqstL)mg將字符串轉(zhuǎn)換為單拮度變量即zinglEto七alcQSt=bot.4ilcrst+newcost2.MsgJoi.忝次費用対;ftnewcuEtft舉計總費用対;&totalc

27、ost-交叉顯示輸入的文本和孌晝時,注意在諫之間加空榕來區(qū)分“的包含范圍j否測會出這衛(wèi)口玄Sub nr丄.i=o3JShet4fti=o4JShetSfti=:5JThi三Workbock-客窗住1圃窗悴理論i闔窗佯實踐1H多貢窗佯-衍模塊恣窗悻輔勒模塊風(fēng)過程模塊羈函戮模塊恣我互模塊恣數(shù)組模塊亠類模塊SulsiniTileiftherLlIJifthen的利靳語句練習(xí)DiitizeAsStriOnErrorG-oTuvery&rLdJ謹(jǐn)悅蠟誤操作引弱的不宓要干折提堰5=InputBowV請輸丸一亍字將氏:Isz-QlOOLThen.-同一行要貝時執(zhí)行西了語刃囲冒號分幵MegBoxtryarai

28、n:simpleitthenlElse:Debug.FrintJ在立即韌口餐崔變量狛的值EndIfveryand:EndSutSut0需判斷頂較垂用小罪江嵌套IfIsEmpty(AciveCell/Then菓MEgSw:thejelli5色ElseIIslIumiFicCAiti匚色J.IfActivCell.Vai口uF.ActivCell.OffE&t-tO,lpl.VsliieSLselfActivCell.7alua0Then.Ac+LCsll.OffssC1):yalu=壬ELaelfActiveCell.ValueX0IheRAc-tiCell.Cfse我00,1):Jue=End

29、If結(jié)孫第三個訂即逆序結(jié)束Else!ActiveCell.OffsetActiveCellOffsetQ,EndIf姑束第二個辻EndIf結(jié)束第一個辻函數(shù)模塊 數(shù)組模塊工程-VBAProject囪.ji+-一霸atpba.Xis(jltpvbaeb.工laiVTAPruject(FUItEXS.XLM)VBAPrvjttct(VDktezt.xlsa)+MicrosQft對捺.艸駅3匕山tn-靈餾產(chǎn)壩c代碼IExl憧用j3(聲明)UlitiorExplicit+“u窗體-.!&模塊燿奮體捕助複塊燿過趕複塊燿函數(shù)桎塊燿蠻互模塊燿數(shù)蛆桓塊由”;類模塊匚程-VSAPioject15J!:王;癒&tp

30、vbaeik.zls(XTFBACI.ILAI+霸VJSAFrojtct:二尊VJSAFrojtct+Micros-ot由“.福體r-S複塊遵窗俸輔勖揍快遵過稈複快A函數(shù)模塊A交互模塊A數(shù)組視塊由“口類擾塊(fUICRKS.XUI)(VBAt&zt.xIeb)Ecel對竦UjtLijrLJ=i:=LEh!1ii!-LbEut._JZ亍主幣卷好HrHK-ATl右兀,視于耳Suti:=LtT:=LVt63Ctl()J定義數(shù)齟縛習(xí).一Dimcjumpciny坦)AsStri.Rg包含芒T成貝的數(shù)組.:限jJcumpoRy(0)DimDimFqhcumpony(i)=CSbuA城市的名宇:j恥盂tiM

31、sgEoi.jrvumpjrljOAftdump&nytl)取氏iumpon/C2)ft._ft.cumponyQlForEachcumLncumjonyMsgBtfijcumMe3tt兩種顯示觀寮區(qū)別EndSub,SifbururiteCities:30再明數(shù)組凋用耳怖過程Dimcities(6).AsString:cities(lV-cities(2)-ci-ci(4)Xcities(5)-citisE(B)-LVTrsntoTiHallocities()誼用卞面的Ifallo過程j并將cities()這傳謹(jǐn)給它EndSlitClUTllAsBvtL=1T-j:moreEsostn加卅To

32、吋SubHalloCcjties:OAsStriRg-i骨有數(shù)組吏蜓的邁程可講行過程間變量的調(diào)用怯遞主過毬我給數(shù)組皿心醐務(wù)-因為它門的值通過在上一平過程的調(diào)用中隹謹(jǐn)導(dǎo)到DincounterAsIntegerForccnmter=1ToEMgBokHpHoftcities(cuimt&r)HextEndSub三fS釘5G1用)VBAtext.K|Sm-獄坦模塊(代瑪)EfLilSubSuhLottoQJ實際應(yīng)用:利用一維數(shù)組買卷票:一直數(shù)組成員數(shù)的靜態(tài)數(shù)組ConstConstCfinstDimiDimmylottoAzStrlTLgDimLucCrLUJi)AsByt已mylotto=Forl=

33、1TonuiTiRiiTLilom1ze隨機數(shù)字發(fā)主器初躺化lucky(ip-工泌(Rrrdjl-+(majtnum-IfThenForj=1Tq.i-1Iflucky(i1jlucky(j)Lucky(i)=IntQlnd0numAsByt&二6龜寒包含片廣數(shù)minium辰ByteF1最小慣可対1msMTiun魁Byte.-Sl,最大值可為51AsByte,jAsEyte=mylotto&luckj.rl.iJmylottoNeKtiMesEok“聿匡呂碼為SlmylottoDebug.Frintmylotto +tpvbaeit.xlstAIFVBAE?.ILM+VBATrojectCFU

34、TCKE5.ILMD二惑VBAFrojectCKBAtext.xIeb)fMscrozoftEjrcel對象+窗1$K&模按遞窗佈輔助樓塊遞過程模塊遞函數(shù)複塊盞立互檯塊然數(shù)俎模塊+口類模塊V&AteHt.Klsm-數(shù)養(yǎng)啻塊祇削pHallo腕孔訊b_,SubmiL;iLrraytextlLI二繼薛態(tài)數(shù)細(xì)鉱耳.單元格=小匚乩J:的表達(dá)方式即為二錐數(shù)組,也可自己走城Workbooka-.CAtestJL:Tforkaheetsfbiao2).ActivateDimtAsE七r1H&rt=ChrC93tabr三ChrCl3)enterDimiC11SCellsFgiCalls,4NestEnl_SSu

35、bil動態(tài)數(shù)爼豹習(xí),即不定文藪組犬小在代碼中用redirr來設(shè)定談態(tài)數(shù)爼定興大小后不能思改變并列已壯立工作恚和VB窗口-可以按F4逐步聊察運行結(jié)果DimccutlAsInteger,i后DimdjTL:=Lt_rI.JAsIntegReDimdjmirr05Forccuil二1ToiiVTL:-iITCci:i12Tl)二Fori=1TilyiLSiKL(cuiiiL.)HextiActiveCull.0ffegt(ccnm1,OX二iij.TL:=Lrr(coutl)NextCCIITlReDimdyTLSTF(7)Frcouil=6Tq7ij-TLrCc-mitl)二cuuriZWithA

36、ctivCell.Offset(gqua-L).y:=J.UH二iIj/TlSTF亡ouji.FcntC=cqiiil+1.In+eriif.CulwIrLilw二27EnilHithNextcoutlEndSuberInteger-龕義動態(tài)數(shù)塑510CC-1JIL二dj-TUdlTCcOUIlj*cOim 工程-VBAProjectVBAtEHt.Hkm數(shù)韜理煥(代碼)-IBX # #+aen.zLs+惑VBAProjectXYBAProject補Microsoftr.窗悻-&模塊勰瞬悻輔購複塊嶽過程模塊嶽函數(shù)模塊嶽交互模塊恣數(shù)繃崑塊HO類復(fù)塊(ATPVBAEff.ALUCFU5CBES.T

37、LAIJCVTAtext.xlsbJEkcl對象Subarrayfunction()s咄塑藪這R,怏速薦啟活單議并返回匸中曲類型數(shù)迢isarra7?蚩紺強凌軌否舟?。篿s函藝純習(xí)-港除數(shù)組數(shù)磅.對于動態(tài)數(shù)鋁將重新分配內(nèi)存Dim:intoAsVari:垃厲DimIAeStringDimiAsByteDimtrXsEh:口Iesilauto)汕弘00二綠:血談皿auto(0)fttftautollj&tft.銘itoFcri=0T沁WithActiveCell.OffsetO,ij.Vallie=auti(i).Colnimns.AutoFit自動謂整列寬End町七h(yuǎn)Nestitir=Ieitay

38、auto!MzgBKKautoisarray:fttrEraseant6清除數(shù)據(jù)auto為礦arj.au侵型auto二1MEgEoifautoEndSubFlinetion參畫勺!rriyFar:duutrrayiufstr:iy0AsVariant)任厲載爼案勃參數(shù)進(jìn)行便傳薙,-.、崩須使甬矣龍宇FarsunArt聊_,衛(wèi)類型必級尙variantDimmAsSiiLgl:Dimmv:=LlAsVariF叮廠Eacltmv:=LLInmy:di_r=iyrTiEiuTi二rrisijjTi+mv:=JIfeKt參敷:=ltray=memriJCtrl+(J調(diào)出立即窗口j輸人?養(yǎng)數(shù)array1匕

39、15,25,44.2,13,7)回車,顯示詰果如下?卷數(shù)array(1.1.5.E5,44.2,13.T)B5.6EndFimction # 13.在窗體中進(jìn)行練習(xí)a.窗體工具箱控件介紹點擊工具箱上的按鈕,然后點擊窗體,即出現(xiàn)相應(yīng)控件,可選擇控件調(diào)整大小,雙擊工具箱控件標(biāo)識可連續(xù)添加多個,再點擊后停止選擇 B.將控件添加到窗體后可以通過更改屬性來設(shè)置控件樣式等:如下,在相應(yīng)控件處有基礎(chǔ)使用介紹,更多可自行實踐摸索 仔細(xì)閱讀上面的圖例,你已經(jīng)掌握基本使用下面是開始實際應(yīng)用創(chuàng)建一個新的窗體,本實例為“窗體實踐”:設(shè)計內(nèi)部如下:注意:1圖片空間內(nèi)部的圖片需要在屬性中進(jìn)行上傳設(shè)置然后更改()2、每一個

40、控件都有其自己的“名稱”,一定要設(shè)置,通過設(shè)置名稱,我們就可以在代碼中對其進(jìn)行引用修改等操作“名稱”表示該控件的名字,方便在編碼中引用;表示該控件中填充的內(nèi)容獗學(xué)Optionfiuttonm-窗停實SS(U!按字母序按分類序日L:onLrolS.ource泅片F(xiàn)ic+m-t!(N皿)Fic+iii-sFisitiorL7fmFietin-F-Jeitifiid館稱數(shù)學(xué)卜Aligrurient1-fmAligruTientRightEacklZolorOJOEOEUEOft3ack5tyle1-fmBackStyUpaquECaptiurL數(shù)學(xué)CoRtrolTipTentForeColorMaH

41、SOQOOOlSa2?ImButtoiLEffectSiniFalstTrue日 BS-FicturFoEition.7-EmPictureFositionj外現(xiàn)matlabControlTiDlest1一fmAligjirneiitEight口OOOEOEOEOABackStyleCapticnAligruTierLtBacklZolor1一fmBackStyleOp:niu已matlabContrclSo團(tuán)也Fictmv(atlab按宇母序按片類序C:matlab在下面的例子中,使用概率的名稱給了文字框,該文字框上方的文字為標(biāo)簽文字:E?滾動攝喜歡廣數(shù)學(xué)natlabC語文使用楓率ii:=L

42、CKi.norfmEackStyleUpa丨phutijEhup使用位置ojririourius.ft3True日廣男立使用槻率%WIHTsronntoTCSsr2一fmSpeci:=JEfec按字母序按分類序151321S6莎080000006&氐rfmRor辻wrSty亡V:=l1uhVisil.le氈更|l五TapVi1th便fBIH率TejctEoKBackStyleBorderColor理甜StyletigLT】FTe懇2oreColor屬性-謹(jǐn)用IS宰IIAHOOIOEOEOftFrsCclcr-jjisuooaoiEa1一fmEackStyleOpaque-5iH8000a006

43、&0-mSpecialEectFlBackStyleBijriiurCijlmrI一fmEir臉廠5tplI口竺使用槪率%BorierStvlaCaptionControLTipIeKt ,樺i7t-FfiR-hWFh不再一一舉例】右擊你的窗體名字,選擇查看代碼,進(jìn)行編寫-3窗鞋!圈倉停理論討囲窗體實踐2囤壟頁窗停厶.&擾塊 # #代碼窗口的上方有兩個復(fù)合框,左側(cè)下拉菜單中有相應(yīng)控件的名字,可點擊,右側(cè)下拉菜單中相應(yīng)控件可執(zhí)行的動作:首先初始化窗體:選擇 設(shè)置控件的動作一只為需要的設(shè)置,不一定一一設(shè)置::注意先更改左上角的控件復(fù)合框;也可以從窗體中雙擊相應(yīng)控件,然后選擇相關(guān)動作。完畢,該設(shè)置過

44、程的控件已設(shè)置,現(xiàn)在設(shè)置關(guān)鍵的和按鈕 以下兩個私有模塊當(dāng)選擇某個選項按鈕控件時會改變另一個控件列表中的內(nèi)容。 EVBAtext-xIsm醐越實疏匚代蠢)-Inlxl數(shù)學(xué)寸ChHnSe三|PrivateSub語文_Change.設(shè)舊選頂語文對應(yīng)列恚申的旦窗體賣裁.列表.ClearCall_liztiTiatchj_吾丈M巴列表.Li5tIndeK=0ErLilSuliPrivate3-撤學(xué)ha隔亍喪置選項數(shù)學(xué)襯應(yīng)刑表中的恒窗體實踐列羔.2arCall,listmatcliMe.列表.Listludex=0EndSut以上設(shè)置中調(diào)用了兩個過程,我將這兩個過程寫在一個新建的輔助模塊,如下::1麥李白

45、社甫白居易VJThiEorkbook窗萍iM窗俸理論I圃窗待實踐圃事頁窗祥自凸模塊磁窗悻輔助模塊V過程模塊邈函數(shù)模塊邈交苴模塊恣數(shù)組模塊由匚類模塊tiith窗體實跌列表.Adllterri.em.Ad-litern.AdUtemEndWithEmiSubSnzbIlstmuh語0With窗住實啓j.列恚.Ad-U+eni.Ad-litern.AdUterri.AdilTtem.Adiiltern虔老“棱痕三雋形“函數(shù)分別設(shè)置代碼如下:(注意改變控件復(fù)合框的選擇哦?。﹚FBAteM.Klsm-窗韓實匪f代碼)-.Bx|SpnB-attonlTiCkanigejJEndSuLPrivateGnbS

46、pirBnttcnlChangeQJ與文千Hl鉅合_J使改孌按社可以改喪丸字框使用禍率.yalu=Spinliuttcinl.IfalueEnd創(chuàng)1PrivateSub回到窗體實踐編碼窗口繼續(xù):由于用到了旋轉(zhuǎn)按鈕與文字框組合的形式,則需將二者的值關(guān)聯(lián)起來JZgeO屋藉朗齬鑑纂按鈕的內(nèi)部值DimenirylAsJyteOnErrorResivnqHeMtentryl-Me.用概率.ValueIentryl100heneRtryl=10CMsgBojf超出上限ICIQ矗.使用鍛率.Value=entrylEndI_SpinSuttonl.ITalua二僮尿概率.IfalueEndSubTa-InT

47、aiTm宀fI,1JwHtAKh-uttonFrivateSubcancClick0消第二觸Hid,-只是隱犠并不從匝晝貨除宙亠苴對套和厲性伍藝頂粥使用me.ixnlcad卸罷窗口,從切T漓璨,需用lo誦調(diào)甬才費憶用End.Subrrivate2ubOECbuttQn_Click()0附S鈕設(shè)置j導(dǎo)入數(shù)據(jù)到excelMeHideDimrAsByteDimaaAzRangeSetaa=Kan話al)r=Application.CoimtACRangeC.aronn-ta0Ml非空單元格數(shù)呂Ifdm,數(shù)學(xué).Value=TrueThenaa.OffsetCr,0).Value-1單元稻值為LEnd.IEIfMm.語Value=TrueThe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論