Xóa thủ tục khỏi mô-đun bằng VBA trong Microsoft Excel
Trong bài viết này, chúng tôi sẽ tạo một macro để xóa một macro khác khỏi một mô-đun.
Chúng tôi đang sử dụng Module1, chứa SampleProcedure làm macro mẫu mà chúng tôi muốn xóa.
Giải thích mã
Đặt VBCM = WB.VBProject.VBComponents (DeleteFromModuleName) .CodeModule Đoạn mã trên được sử dụng để tạo một đối tượng của mô-đun đã xác định.
ProcStartLine = VBCM.ProcStartLine (Tên thủ tục, vbext_pk_Proc)
Đoạn mã trên được sử dụng để lấy số dòng bắt đầu của thủ tục đã xác định.
ProcLineCount = VBCM.ProcCountLines (Tên thủ tục, vbext_pk_Proc)
Đoạn mã trên được sử dụng để đếm số dòng trong thủ tục đã xác định.
VBCM.DeleteLines ProcStartLine, ProcLineCount Đoạn mã trên được sử dụng để xóa tất cả các dòng trong quy trình đã xác định.
Vui lòng theo dõi bên dưới để biết mã
Option Explicit Sub DeleteProcedureCode(ByVal DeleteFromModuleName As String, ByVal ProcedureName As String) 'Declaring variables Dim VBCM As CodeModule, ProcStartLine As Long, ProcLineCount As Long Dim WB As Workbook On Error Resume Next 'Creating object of active workbook Set WB = ActiveWorkbook 'Creating object of workbook module Set VBCM = WB.VBProject.VBComponents(DeleteFromModuleName).CodeModule 'Checking whether the procedure exist in the codemodule If Not VBCM Is Nothing Then ProcStartLine = 0 'Function assigning the line no. of starting line for the procedure ProcStartLine = VBCM.ProcStartLine(ProcedureName, vbext_pk_Proc) If ProcStartLine > 0 Then 'Function assign the no. of lines in the procedure ProcLineCount = VBCM.ProcCountLines(ProcedureName, vbext_pk_Proc) 'Delete all the lines in the procedure VBCM.DeleteLines ProcStartLine, ProcLineCount End If Set VBCM = Nothing End If On Error GoTo 0 End Sub Sub CallingProcedure() 'Declaring variables Dim ModuleName, ProcedureName As String 'Getting value for module and procedure name from textboxes ModuleName = Sheet1.TextBox1.Value ProcedureName = Sheet1.TextBox2.Value 'Calling DeleteProcedureCode macro DeleteProcedureCode ModuleName, ProcedureName End Sub
Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.
Chúng tôi rất muốn nghe ý kiến từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]