




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、VBA操作 VBA代碼dadaV20190409基本概念:1、VBE對象:根對象,表示在VBA編輯器中存在的所有對象的最上層對象;2、VBAproject對象:VBE編輯器中的工程;3、VBComponents 對象:表示工程中所有的部件集合,包括Excel對象、窗體、模塊、類模塊;4、CodeModule 對象:表示部件中相關(guān)的代碼;(更具體詳解請示參見 Visual Basic 2010 開發(fā)參考)以下內(nèi)容為程序具體內(nèi)容,可直接 復(fù)制至VBE運行。一、返回模塊的行數(shù)、內(nèi)容、過程名1.返回模塊的行數(shù)Sub返回模塊A中的總行數(shù)()MsgBoxThisWorkbook.VBProject.VBC
2、omponents(VBA操作 VBA 本身代碼”).CodeModule.CountOfLines 模塊名稱:VBA操作VBA本身代碼”,根據(jù)自身情況修改End SubSub返回過程test1中的總行數(shù)()MsgBoxThisWorkbook.VBProject.VBComponents(VBA操作 VBA 本身代碼”).CodeModule. ProcCou ntLi nes(test1, vbext_pk_Proc) ProcCou ntLi nes返回在過程聲明之前的所有空行及注釋行的計數(shù),并且,如果該過程是一段代碼模塊的最后一個,那么此過程之后的所有空行也計入。End SubSub返
3、回過程testl中開始行數(shù)()MsgBox ThisWorkbook.VBProject.VBComponents(VBA操作 VBA 本身代碼”).CodeModule.ProcBodyLine(test1, vbext_pk_Proc)模塊名稱:VBA 操作 VBA 本身代碼,根據(jù)自身情況修改End Subvbext_pk_Get 指定一個返回屬性值的過程vbext_pk_Let指定一個賦值給屬性的過程vbext_pk_Set指定一個給對象設(shè)置引用的過程vbext_pk_Proc指定所有過程除了Property過程2返回模塊的內(nèi)容Sub返回過程test1中的所有代碼()Dim開始行數(shù),總行
4、數(shù)With ThisWorkbook.VBProject.VBComponents(VBA操作 VBA 本身代碼”).CodeModule 模塊名稱:VBA操作VBA本身代碼,根據(jù)自身情況修改開始行數(shù) =.ProcBodyLine(test1, vbext_pk_Proc)總行數(shù) =.ProcCountLines(test1, vbext_pk_Proc)MsgBox .Lines(開始行數(shù),總行數(shù))End WithEnd Sub3返回過程名Sub返回第7行所在的過程名()(程序運行錯誤,原因不明!)MsgBox ThisWorkbook.VBProject.VBComponents(VBA操
5、作 VBA 本身代碼”).CodeModule.ProcOfLine(215,vbext_pk_Proc)模塊名稱:VBA 操作 VBA 本身代碼”,根據(jù)自身情況修改End Sub4判斷模塊和過程是否存在Sub判斷A模塊是否存在()On Error Resume NextIf ThisWorkbook.VBProject.VBComponents(VBA 操作 VBA 本身代碼)Is NothingThen 模塊名稱:VBA操作VBA本身代碼,根據(jù)自身情況修改MsgBox VBA操作VBA本身代碼不存在ElseMsgBox VBA 操作 VBA本身代碼存在”End IfEnd SubSub判斷
6、是否存在test1過程()On Error Resume NextDim開始行數(shù)開始行數(shù)=ThisWorkbook.VBProject.VBComponents(VBA 操作 VBA 本身代碼 ”).CodeModule.ProcBodyLine(test1, vbext_pk_Proc)模塊名稱:VBA 操作 VBA 本身代碼,根據(jù)自身情況修改If Err.Number = 35 The nMsgBox 不存在test1過程ElseMsgBox 存在 test1 過程End IfEnd Sub5.返回工程中所有部件名稱Sub顯示部件列表()Dim x As ByteWith ThisWork
7、book.VBProjectFor x = 1 To .VBComp onen ts.Co untCells(x + 1, 1) = .VBCompo nen ts(x).NameCells(x + 1,2) = .VBCompo nen ts(x).TypeNext xEnd WithEnd Sub二、添加模塊、過程、代碼1添加模塊(程序運行錯誤,原因不明!)Sub添加新模塊B()With ThisWorkbook.VBProject.VBCompo nen ts.Add(vbext_ct_StdModule).Name = BEnd WithEnd Subvbext_ct_ClassMod
8、ule將一個類模塊添加到集合vbext_ct_MSForm將窗體添加到集合vbext_ct_StdModule將標(biāo)準(zhǔn)模塊添加到集合2在模塊中添加代碼Sub添加新過程ABC()Dim sr, codesr = Sub ABC() & vbCrLf & Msgbox 測試添加代碼” & vbCrLf & End SubMsgBox srWith ThisWorkbook.VBProject.VBComponents(VBA操作 VBA 本身代碼).CodeModule 模塊名稱:VBA操作VBA本身代碼”.AddFromStri ng srEnd WithEnd Sub3在模塊中插入代碼操作 VB
9、A 本身代碼Sub在B模塊中的第3行插入一行代碼()With ThisWorkbook.VBProject.VBComp onen ts(VBA”).CodeModule B 模塊名稱:VBA操作VBA本身代碼,根據(jù)自身情況修改.1 nsertLi nes 3, testi ng sheets(1).SelectEnd WithEnd Sub三、刪除模塊、過程、代碼1刪除模塊Sub刪除模塊()With ThisWorkbook.VBProject.VBCompo nents.Remove ThisWorkbook.VBProject.VBComponents(VBA操作 VBA 本身代碼”)模
10、塊名稱:VBA操作VBA本身代碼”End WithEnd Sub2刪除過程Sub刪除模塊中的ABC過程()操作 VBA 本身代碼Dim開始行數(shù),總行數(shù)With ThisWorkbook.VBProject.VBComp onen ts(VBA ).CodeModule開始行數(shù) =P rocBodyLi ne(ABC, vbext_pk_Proc) 總行數(shù) =P rocCou ntL in es(ABC, vbext_pk_Proc) .DeleteLines開始行數(shù),總行數(shù)End WithEnd Sub四、替換、導(dǎo)入、導(dǎo)出模塊(代碼)Sub替換B模塊的ABC過程第一行代碼()Dim開始行數(shù)Wi
11、th ThisWorkbook.VBProject.VBComponents(VBA操作 VBA 本身代碼”).CodeModule B 模塊名稱:VBA操作VBA本身代碼,根據(jù)自身情況更改模塊名稱開始行數(shù) =.ProcBodyLine(ABC, vbext_pk_Proc) ProcBodyLine:返回過程的第一行。.ReplaceLine開始行數(shù) + 1, MsgBox 修改后”End WithEnd SubSub替換一個模塊()先刪除模塊,然后導(dǎo)入新模塊ThisWorkbook.VBProject.VBCompo nen ts.RemoveThisWorkbook.VBProject.
12、VBComponents(VBA操作 VBA 本身代碼)ThisWorkbook.VBProject.VBCompo nen ts.Import D:/A.basEnd SubSub導(dǎo)入一個模塊()ThisWorkbook.VBProject.VBCompo nen ts.Import D:/A.basEnd Sub操作 VBA 本身代碼).ExportSub導(dǎo)出一個模塊()ThisWorkbook.VBProject.VBCompo nen ts(VBAD:/A.basEnd Sub五、模塊的查找、添加、刪除Find(查找內(nèi)容,開始行數(shù),開始列始,結(jié)束行數(shù),結(jié)束列數(shù),是否匹配)Sub在B模塊
13、中查找()With ThisWorkbook.VBProject.VBComponents(VBA操作 VBA 本身代碼”).CodeModule B 模塊名稱:VBA操作VBA本身代碼,根據(jù)自身情況更改模塊名稱MsgBox .Find(愛,1, 1, 1, 1)End WithEnd SubSub給指定文件添加模塊()Dim wb As Workbook, ph As Stri ngApplicati on .DisplayAlerts = Falseph = ThisWorkbook.Path & Set wb = Workbooks.Ope n(ph & test.xls)ThisWor
14、kbook.VBProject.VBComponents(VBA操作 VBA 本身代碼).Export ph& A. basWin dows(wb.Name).Visible = Truewb.VBProject.VBCompo nen ts.Import ph & A.baswb.Close TrueSet wb = Nothi ngKill ph & A. basApplicati on .DisplayAlerts = TrueEnd SubSub刪除指定文件模塊()Dim wb As Workbook, ph As Stri ngApplicati on .DisplayAlerts
15、= Falseph = ThisWorkbook.Path & Set wb = Workbooks.Ope n(ph & test.xls)Win dows(wb.Name).Visible = Truewb.VBProject.VBCompo nen ts.Removewb.VBProject.VBComp onen ts(VBA操作VBA本身代碼)wb.Close TrueSet wb = Nothi ngApplicati on .DisplayAlerts = TrueEnd SubSub引用列表()Dim ref, iFor Each ref In ThisWorkbook.VBProject.Refere ncesi = i + 1Cells(i, 1) = ref.NameCells(i, 2) = ref.FullPathCells(i, 3) = ref.DescriptionNext refEnd SubSub 引用 IDE()D
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會議智能數(shù)據(jù)分析應(yīng)用考核試卷
- 安全生產(chǎn)應(yīng)急預(yù)案制定考核試卷
- 水泵能耗分析與降低策略考核試卷
- 亞鐵離子三價鐵離子的性質(zhì)及檢驗-2023年高考化學(xué)一輪復(fù)習(xí)(原卷版)
- 新課預(yù)習(xí):第一章 機(jī)械運動(含解析)-人教版八年級物理上冊
- 湖北省武漢市江岸區(qū)2024-2025學(xué)年七年級下學(xué)期期末語文試卷(含答案)
- 加強供應(yīng)鏈管理提升市場響應(yīng)
- 2025秋初中數(shù)學(xué)九年級上冊人教版教案設(shè)計 22.3實際問題與二次函數(shù)(2)-1教案
- 山東省德州市寧津縣2023-2024學(xué)年七年級下學(xué)期7月期末考試數(shù)學(xué)試卷(含答案)
- 三角函數(shù)圖像-高考數(shù)學(xué)一輪復(fù)習(xí)講義(學(xué)生版)
- 2025屆中興通訊「未來領(lǐng)軍」人才招聘正式啟動筆試參考題庫附帶答案詳解(10套)
- GB/T 45891-2025肥料和土壤調(diào)理劑肥料原料中腐植酸和疏水性黃腐酸含量的測定
- DB54T 0496-2025 退化高寒草原免耕補播技術(shù)規(guī)程
- 華新學(xué)校小升初數(shù)學(xué)真題試卷
- 2025年離婚抖音作品離婚協(xié)議書
- 顧客特定要求CSR清單
- 公司、車間、班組三級安全檢查表
- 2025年江蘇省安全員C證考試題庫含答案
- 2025年機(jī)械制造行業(yè)技能考試-工程機(jī)械修理工歷年參考題庫含答案解析(5套共100道單選題合輯)
- 體育公園使用管理辦法
- 桌游吧商業(yè)實施計劃書
評論
0/150
提交評論