Xin Code xóa Module. (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

GCQ

Thành viên mới
Tham gia
10/3/23
Bài viết
15
Được thích
0
Xin mọi người chỉ dẫn: code xóa Module (tiện cho xin code để xác định 1 Module có tồn tại không).

Dim vbCom As Object
Set vbCom = Application.VBE.ActiveVBProject.VBComponents
vbCom.Remove VBComponent:=vbCom.Item("Module1")

Code này cứ báo lỗi ở dòng thứ 2.

Cảm ơn mọi người.
 
Xin mọi người chỉ dẫn: code xóa Module (tiện cho xin code để xác định 1 Module có tồn tại không).

Dim vbCom As Object
Set vbCom = Application.VBE.ActiveVBProject.VBComponents
vbCom.Remove VBComponent:=vbCom.Item("Module1")

Code này cứ báo lỗi ở dòng thứ 2.

Cảm ơn mọi người.
Trong khi chờ đợi hãy thử tham khảo Code (sưu tầm của tác giả nào không nhớ nữa). Rất mong tác giả code cảm thông.
Mã:
Option Explicit

Sub InsertModule()
Dim Wb As Workbook, mdlName As String
Dim j As Integer
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
   
    Set Wb = ThisWorkbook
    With Wb
        For j = .VBProject.VBComponents.Count To 1 Step -1
            If .VBProject.VBComponents(j).Type = 1 Then
                mdlName = .VBProject.VBComponents(j).CodeModule.Name
                If MsgBox("B?n có mu?n xóa Module -" & mdlName & "- này không?", vbYesNo, "THÔNG BÁO") = vbYes Then
'                    .VBProject.VBComponents.Remove .VBProject.VBComponents(mdlName)
           end if
            End If
        Next j
             .Save
        '    .Close True
    End With
 
    Set Wb = Nothing
   
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    MsgBox "Da Xóa xong Module ", vbExclamation, "---GPE---"
End Sub
Bỏ các dấu nháy đơn ở đầu các dòng code để được điều mình muốn.
 
Trong khi chờ đợi hãy thử tham khảo Code (sưu tầm của tác giả nào không nhớ nữa). Rất mong tác giả code cảm thông.
Mã:
Option Explicit

Sub InsertModule()
Dim Wb As Workbook, mdlName As String
Dim j As Integer
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
  
    Set Wb = ThisWorkbook
    With Wb
        For j = .VBProject.VBComponents.Count To 1 Step -1
            If .VBProject.VBComponents(j).Type = 1 Then
                mdlName = .VBProject.VBComponents(j).CodeModule.Name
                If MsgBox("B?n có mu?n xóa Module -" & mdlName & "- này không?", vbYesNo, "THÔNG BÁO") = vbYes Then
'                    .VBProject.VBComponents.Remove .VBProject.VBComponents(mdlName)
           end if
            End If
        Next j
             .Save
        '    .Close True
    End With
 
    Set Wb = Nothing
  
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    MsgBox "Da Xóa xong Module ", vbExclamation, "---GPE---"
End Sub
Bỏ các dấu nháy đơn ở đầu các dòng code để được điều mình muốn.
Thế này thì xoá tay chắc chậm hơn một chút nhỉ.
 
Thế này thì xoá tay chắc chậm hơn một chút nhỉ.
Code nguyên gốc của nó (tôi không nhớ của tác giả nào) dùng để export 1 module có tên cho trước sang 1 file có đường dẫn chỉ định -Nó còn có cả phần chọn file cần Inset Module, Tên module cần insert , Pass VBA.
Tôi gọt lấy 1 phần (dùng để xóa thôi và dùng vào việc cá nhân ).
Tôi nghĩ rằng từ code gốc có thể tùy biến thêm 1 chút để xóa các module của 1 file khác hoặc Import 1 hay nhiều module sang 1 file khác (tuy nhiên chưa thực nghiệm lần nào)
 
Web KT

Bài viết mới nhất

Back
Top Bottom